抓取网页生成电子书(PostedJanuary14,安装Bash官网文档提供的安装脚本看似简单)
优采云 发布时间: 2022-04-17 15:00抓取网页生成电子书(PostedJanuary14,安装Bash官网文档提供的安装脚本看似简单)
Scrapy 抓取热门短书生成电子书发送到 Kindle 发表于 2016 年 1 月 14 日
简书是个很好的学习者网站,我大多只关注首页的人文章,但是最近因为忙,错过了很多首页的文章,所以我有个想法,把每日热门Top生成mobi并推送到kindle。这样一来,在地铁上就能很快搞定。
环境准备:
关于口径安装
重击
sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
官网文档提供的安装脚本看似简单,执行后即可安装使用,但调用ebook-convert时gitbook会报错。这里报的错误应该是QT错误(至少我遇到过,具体错误信息忘记截图了)如果遇到这个错误,直接安装QT pyQT即可。calibre安装页面有依赖表
安装 Gitbook
需要安装 nodejs 和 npm 然后执行 npm install -g gitbook-cli
安装建树热
需要强调的是,这部分需要解决很多依赖,
scrapy依赖的python包有很多,这些依赖的python大部分都需要一些系统库。如有需要,需要安装apt-get和yum,如python-devel libffi-devel libxml-devel等...
peewee(数据库ORM)需要mysql-devel,上面的例子都知道,这个是我部署后写的,部署过程就不详细记录了,现在只能凭记忆写这一章了。
重击
$ git clone https://github.com/jackeyGao/jianshuHot
$ cd jianshuHot
$ pip install -r requirements.txt
初始化器
重击
$ sh init.sh
邮件配置
这是用于发送电子邮件的 sendEmail 和下载地址。解压后将解压后的sendEmail重命名为/usr/local/bin/sendEmail。理论上可以安装成功。这是免编译的,只需要在机器上安装 perl。
然后修改start.sh邮箱配置,写成自己的163邮箱,也可以用其他品牌邮箱,如果用其他品牌别忘了改,改到对应的smtp服务器就好了。
注意:无论您使用哪个电子邮件地址,您都必须将此电子邮件帐户添加到亚马逊的批准发件人电子邮件列表中,以确保您发送的文件可以到达亚马逊云
重击
$ vim start.sh
....
YOURKINDLE_MAIL_ADDRESS="[email protected]"
YOUR_SEND_MAIL_USERNAME="[email protected]"
YOUR_SEND_MAIL_SECRET = 'xxxxxxxxxxxx'
MOBI_BOOK_PATH='./output/book.mobi'
...
开始爬行
重击
$ sh start.sh
执行后会自动抓取页面生成markdown,下载每个文章的图片,然后gitbook会通过markdown生成这个文档列表的book.mobi(output/book.mobi),并在start.sh 的末尾有一个备份操作会将这个 mobi 备份到 output/books。然后发送到指定kindle地址邮箱。