文泉书城PDF下载器

背景

最近在备考软考,在文泉书城买了本PDF书籍,发现不能下载,只能在线阅读,大大降低了学习效率,于是在网上找了些下载方法及软件,主要有以下几种方式。

油猴脚本:https://github.com/Kevin0z0/wenquan-pdf-download (本人愚钝,未测试成功)

程序:https://github.com/SweetInk/wqxuetang-pdf-downloader (下载过程中会出现异常,导致下载中断,不是很好用)

浏览器插件:图片助手插件,可直接提取已经生成的图片。需要一页一页的去翻,而且有时会导致缺页啥的。我是用这个方法下载的,耗费一天的时间整理页面及合成。

image

在使用浏览器插件下载之前就想开发个软件,对图片进行爬取下载。但是里面涉及了jwt加密算法,有个key获取不到,就放弃了。

在学习的过程中,发现下载图书的质量不太好,想着是不是和下载方式有关系(后来通过证实,好像没有关系。因为我爬取的页面也是一样的分辨率。),因此我又动了去写软件下载的想法。深入了解了一下别人的源码(即上方提到的SweetInk开源的代码),找到了逆向的key(我感觉后期有可能会进行变更,导致我现在的程序也会失效。)。

实现方式

软件实现的原理同SweetInk的方法基本差不多,就是改成了交互式的窗口了,集成了把图片合成PDF的功能,PDF是可以带索引的。

本来打算通过微信扫码来登录进行下载的,但是因为验证后有个302的跳转,好像无法进行授权,折腾一顿后,一是太麻烦不想搞了,二是技术太菜,搞不了。就放弃了,使用了Cookie的方式进行验证。

首先需要设置Cookie,否则只能下载30页,即官方给的可以试读的页面数量。把下图的Cookie复制到软件的Cookie的设置里面并进行确认。

微信截图_20220421112456

微信截图_20220421112613

在PDF预览地址的位置输入图书的预览地址,然后点击获取书籍信息。Cookie设置没有问题,会显示可下载数和页面总数是一致的。最后点击下载,即可。为了避免官方服务器反爬取的问题,设置下载时间为5S一张,也增加了代理功能可以设置代理IP(个人感觉也没啥用处,通过测试好像官方针对10张照片时长有限制)。

image

图片会下载至软件的目录中,下载完成后,点击合成PDF进行合成。即可在目录中生成PDF文件。

微信截图_20220421152913

https://gitee.com/wlzscn/wenquan-publishing-house

2022年4月21日15:33:49

点赞