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进行处理,非常感谢!

上一篇 2019年3月8日
下一篇 2019年3月8日

相关推荐