Scrapy抓取简书热门生成电子书发送到Kindle

Scrapy抓取简书热门生成电子书发送到Kindle

Posted January 14, 2016

简书是个学习的好网站, 我大多只关注首页上的人们文章, 但是最近因为忙错过了很多首页上的文章,所以有了想法把每天的热门top生成mobi推送到kindle。这样在地铁上也能快速翻完.

环境准备:

  • 一台主机(需要联网)
  • Gitbook
  • calibre(Gitbook 依赖calibre的ebook-convert)
  • Python2.7.9(calibre 需要python2.7.9)
  • 项目地址: jianshuHot

关于calibre安装

Bash

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()"

官网文档提供的安装脚本看似简单, 执行之后也可以安装使用了, 但是gitbook调用ebook-convert时候会报错, 这个地方报错应该是QT的错误(至少我遇到的是, 具体错误信息忘记截图了)如果遇到此错误直接安装QT pyQT即可. calibre 安装页面有依赖表

Gitbook 安装

需要安装nodejsnpm然后执行npm install -g gitbook-cli

安装jianshuHot

需要强调的是此部分需要解决大量的依赖,

scrapy所依赖的python包很多, 而且这些依赖的python大多需要一些系统库, 必要的时候需要apt-getyum安装一下, 如python-devel libffi-devel libxml-devel等....

peewee (数据库ORM)要mysql-devel, 以上举例都是已知的, 这是在我部署之后写的, 部署的过程没有详细记录, 现在只能靠回忆来写本章节.

Bash

$ git clone https://github.com/jackeyGao/jianshuHot
$ cd jianshuHot
$ pip install -r requirements.txt

初始化程序

Bash

$ sh init.sh

邮件配置

这里发送邮件使用的sendEmail, 下载地址 . 解压后把解压的sendEmail重命名到/usr/local/bin/sendEmail理论上都能安装成功, 这个是免编译的, 只需要机器上安装了perl

然后修改start.sh 邮箱配置, 写成你自己163邮箱, 也可以用其他品牌邮箱, 如果你用其他品牌别忘了改下smtp.163.com, 改成相应的smtp服务器即可.

注意: 无论你用哪个邮箱都必须把此邮箱账号加入亚马逊已认可的发件人电子邮箱列表, 确保发送的文档能到达亚马逊Cloud

Bash

$ 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'
...

开始抓取生成

Bash

$ sh start.sh

执行后会自动抓取页面生成markdown, 下载每个文章的图片, 然后gitbook通过markdown生成此次文档列表的book.mobi (output/book.mobi), 在start.sh 最后面有个备份的操作, 会把此次的mobi备份到output/books. 然后发送到指定的kindle地址邮箱.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

ASM 翻译系列第十四弹:ASM Internal Rebalancing act

原作者:Bane Radulovic 译者: 吴 栋 审核: 魏兴华 DBGeeK社群联合出品 Rebalancing act 在ASM中,每...

3705
来自专栏ytkah

如何在js中将统计代码图标隐藏

  建站时我们都会加一下网站统计,方便把控内容的内容的运营。大部分站长安装的站点统计是第三方统计代码,js形式的,很少用以服务器日志为基础分析的统计。(当然能通...

4377
来自专栏deed博客

首发,iwork11 root教程

1342
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(二十三):个人信息相关页面配置

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

2444
来自专栏西枫里博客

关机后远程唤醒的配置,简单实现广域网远程开机和连接

出门在外经常需要家里或者办公室电脑里面的资料。通常通过远程桌面等控制类软件连接。当家里没人,没人开电脑就麻烦了,如果让家里电脑始终开着浪费能源,所以远程桌面...

3272
来自专栏Golang语言社区

高可用性、负载均衡的mysql集群解决方案

一、mysql的市场占有率 二、mysql为什么受到如此的欢迎 三、mysql数据库系统的优缺点 四、网络服务器的需求 五、什么是mysql的集群 六、什么是负...

9665
来自专栏漏斗社区

skr ~~HID攻击之实战篇

在之前的关于HID攻击介绍文章中,学习了解了HID攻击,是否感觉很有趣呢?是否也想在实际中进行操作一波呢?接下来,就跟着斗哥进行实践玩耍吧:通过Badusb高效...

791
来自专栏信安之路

【读者投稿】wifi渗透-狸猫换太子

上期作者发布了一篇关于wifi钓鱼的方法,今天我来给大佬们带来一篇关于拿到wifi密码能干什么?

1360
来自专栏大魏分享(微信公众号:david-share)

vSAN6.1“豪华”测试体验

在分享了VMware的容灾和双活方案以后,受到到了广大朋友欢迎。本公众号将继续分享我在工作中和学习中的一些心得,也欢迎大家一起交流。 《VIOS HealthA...

41614
来自专栏程序员叨叨叨

win10下MarkdownPad 2的html渲染出错解决

今天下载了MarkdownPad 2,打开后发现预览效果出错了,本来以为自己下载了破解版的缘故导致软件不稳定,后来查找了网上,发现这是一个普遍的问题,根据软件的...

1243

扫码关注云+社区

领取腾讯云代金券