用 Kindle 来追网文
为嘛要干这个呢?这个说来话长,可能还是跟本人的实际情况有关系,别人可能还真没有这需求,毕竟,各种设备基本上都有 Kindle 和 Instapaper 的应用吧,直接看不香吗?所以,这里不解释,有需求的自然懂。
代码及主要思路来自于:这里
准备工作
Instapaper
API
原来的代码用的是 Instapaper simple API,而我改过的是用的 Instapaper full API,所以,使用之前需要在 Instapaper 官方 先申请 token
申请通过后,会收到两个东西:
- token
- secret
这两样和账号密码后面程序里会用
send to Kindle 设置
注册一个 Instapaper 账号并登录,点击右上角你的用户名,再选 “Settings”(或者在地址栏里直接访问这里),往下翻到 Kindle 的相关设置部分。
这里需要注意的是有两点:
- 需要在 Kindle 个人文档设置 里将 Instapaper 的发件地址(类似于 '[email protected]‘ 这样,具体点击 “Your Kindle Email Address” 旁边链接:”what’s this?” 查看)加到白名单里去。
- “Your Kindle Email Address” 是填你 Kindle 设备收文档的地址,在 Kindle 个人文档设置 里可以找到。
运行环境
硬件
这个很正常,你在哪里准备 Python 环境?你的程序写好了在哪里跑?我是跑在一个 VPS 上的。
软件
这里也没什么,也就是各种依赖的包的安装,Python 版本也没啥要求,2 或 3 都应该可以,我用的是 2.7
code
这部分已经更新,详见: 用 Kindle 追网文之二下面才是真正的戏肉部分,废话不说,直接上代码:
1 | #!/usr/bin/env python |
待改进的地方
- 目前抓链接是通过 www.xinxs.la 来直接抓的,由于其 html 代码不够规范,只能用 lxml 模块丑陋的实现了查找更新链接的工作,后来才发现了原来还有移动端适配版本:m.xinxs.la,如果这个 html 代码规范的话,我想用更优雅的方式来实现查找链接的工作