http://efonfighting.imwork.net
项目缘起
- 学习:通过一个实际、实用、有意思的项目来帮助想入门python的同学学习python。
项目发展:
作为一个开源项目,急切希望感兴趣(对代码有洁癖有强迫症)的朋友加入,注入活泼血液,一起交流学习,共同参与,长期维护,升级优化。
希望加入的朋友文章尾部加一番微信,发送github用户名,一番将你加入到contributor。
调研与尝试
前期尝试用adb模拟人工操作去一篇一篇获取文章链接并保存到本地,然后通过webdriver打开链接模拟人工按键去用浏览器打印为pdf。
这其中还用到了图文识别获取文章标题,中间APP获取并传输链接到PC。虽然最后得到的pdf因为浏览器渲染原因效果很好,但效率很低,爬去一篇文章差不多一分钟,这怎么能忍。
后来通过不断学习尝试,得到了用Charles抓包获取文章信息,wkhtmltopdf将 页转换为pdf,虽然wkhtmltopdf有图片无法加载和失真的问题,但都一一解决了。
实现原理
软件操作指南
感谢 @WenyinWei 同学的补充。
准备工作:
1. 需要一部手机,安装微信,
2. 需要一部电脑,目前仅支持 ubuntu,安装抓包工具 Charles;
1. 从 Git 上面 Clone 本库,在 tools 文件夹中有 wkhtmltopdf 安装包,双击安装。
2. 让手机和电脑连上同一个 Wifi ,手机上 Wifi 的高级设置将自己的电脑设置为代理服务器里面:
- 主机名设置为自己电脑的IP地址
- 端口设置为8888。
3. 打开 Charles, 注意这个时候如果连接正常,Chalres 会提示有设备连接。如果没有,说明可能没有配置正确,需要查询 络上其他的指导文章,了解如何用 Charles 作为手机发信的过滤器。这一步骤比较专业,可参考:
- https://juejin.im/post/5a420adff265da432c241adc
- https://www.jianshu.com/p/831c0114179f
- https://www.jianshu.com/p/beaa56846f50
- https://blog.csdn.net/manypeng/article/details/79475870
4. 如果 Charles 显示连接成功了,这时候在手机上浏览任意页面应该都会有新的数据流被 Charles 截留,显示在 Charles 内。
7. 在主 python 程序中,即 auto_opt_main.py,修改如下这三个参数,他们代表程序扒的文章起止序 和存放的文件夹名字。
免费下载服务
- 花费大量时间的源码和操作手册和免费服务都有了,如果50篇还不能满足你,一番要收费了,5元/100篇下载后面的其他文章。
待开发功能:
- windows 运行兼容
- 本地web启动程序操作界面
- 每篇文章评论采集,并附到pdf文章中
- 变量项自动导入
交流沟通
世间很美好,时间是上天给予的最珍贵的礼物!技术人不应该只有眼前的996,还有要陪伴的人和要努力的事。
截止目前,一番业余时间已经帮近百位同学提供免费下载服务了。非常高兴开发的小工具能帮助到大家。
但时间和精力有限,一番个人微信通常在线时间段(12:00-13:00; 19:00-22:00),其他时间段不定时回复。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!