# 文泉书局 **Repository Path**: wlzscn/wenquan-publishing-house ## Basic Information - **Project Name**: 文泉书局 - **Description**: 用于学习目的,此方式已失效 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-04-21 - **Last Updated**: 2023-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文泉书局 #### 介绍 最近在备考软考,在文泉书城买了本PDF书籍,发现不能下载,只能在线阅读,大大降低了学习效率,于是在网上找了些下载方法及软件,主要有以下几种方式。 油猴脚本:https://github.com/Kevin0z0/wenquan-pdf-download (本人愚钝,未测试成功) 程序:https://github.com/SweetInk/wqxuetang-pdf-downloader (下载过程中会出现异常,导致下载中断,不是很好用) 浏览器插件:图片助手插件,可直接提取已经生成的图片。需要一页一页的去翻,而且有时会导致缺页啥的。我是用这个方法下载的,耗费一天的时间整理页面及合成。 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0421/162709_33c2d88d_2246188.png "blog.wlzs.cn-blog.wlzs-.cn-image-thumb.png") 在使用浏览器插件下载之前就想开发个软件,对图片进行爬取下载。但是里面涉及了jwt加密算法,有个key获取不到,就放弃了。 在学习的过程中,发现下载图书的质量不太好,想着是不是和下载方式有关系(后来通过证实,好像没有关系。因为我爬取的页面也是一样的分辨率。),因此我又动了去写软件下载的想法。深入了解了一下别人的源码(即上方提到的SweetInk开源的代码),找到了逆向的key(我感觉后期有可能会进行变更,导致我现在的程序也会失效。)。 #### 软件架构 python3.9.6 fitz PyQt5 PyPDF2 PyMuPDF #### 安装教程 Package Version altgraph 0.17.2 certifi 2021.10.8 charset-normalizer 2.0.12 ci-info 0.2.0 click 8.1.2 colorama 0.4.4 configobj 5.0.6 configparser 5.2.0 etelemetry 0.3.0 filelock 3.6.0 fitz 0.0.1.dev2 future 0.18.2 httplib2 0.20.4 idna 3.3 isodate 0.6.1 lxml 4.8.0 networkx 2.8 nibabel 3.2.2 nipype 1.7.1 numpy 1.22.3 packaging 21.3 pandas 1.4.2 pathlib 1.0.1 pefile 2021.9.3 pip 21.1.2 prov 2.0.0 pydot 1.4.2 pyinstaller 5 pyinstaller-hooks-contrib 2022.4 PyMuPDF 1.19.6 pyparsing 3.0.8 PyPDF2 1.27.7 PyQt5 5.15.6 PyQt5-Qt5 5.15.2 PyQt5-sip 12.10.1 python-dateutil 2.8.2 pytz 2022.1 pywin32-ctypes 0.2.0 pyxnat 1.4 rdflib 6.1.1 requests 2.27.1 scipy 1.8.0 setuptools 57.0.0 simplejson 3.17.6 six 1.16.0 soupsieve 2.3.2.post1 traits 6.3.2 urllib3 1.26.9 wheel 0.36.2 #### 使用说明 [https://blog.wlzs.cn/%e6%96%87%e6%b3%89%e4%b9%a6%e5%9f%8epdf%e4%b8%8b%e8%bd%bd%e5%99%a8/](http://) 软件实现的原理同SweetInk的方法基本差不多,就是改成了交互式的窗口了,集成了把图片合成PDF的功能,PDF是可以带索引的。 本来打算通过微信扫码来登录进行下载的,但是因为验证后有个302的跳转,好像无法进行授权,折腾一顿后,一是太麻烦不想搞了,二是技术太菜,搞不了。就放弃了,使用了Cookie的方式进行验证。 首先需要设置Cookie,否则只能下载30页,即官方给的可以试读的页面数量。把下图的Cookie复制到软件的Cookie的设置里面并进行确认。 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0421/162438_4c5e3e2d_2246188.png "微信截图_20220421112456.png") 在PDF预览地址的位置输入图书的预览地址,然后点击获取书籍信息。Cookie设置没有问题,会显示可下载数和页面总数是一致的。最后点击下载,即可。为了避免官方服务器反爬取的问题,设置下载时间为5S一张,也增加了代理功能可以设置代理IP(个人感觉也没啥用处,通过测试好像官方针对10张照片时长有限制)。 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0421/162527_214aacbb_2246188.png "微信截图_20220421162518.png") 图片会下载至软件的目录中,下载完成后,点击合成PDF进行合成。即可在目录中生成PDF文件。 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0421/162543_e7a2b676_2246188.png "微信截图_20220421152913.png") #### 软件编译 图标资源失效问题 https://www.likecs.com/show-204305093.html 创建QRC文件 logo.ico pyrcc5 -o 目标文件名 源文件名 main.py import 源文件名 注意:图片名称还是原来的名称,前面的“:”冒号一定不能少 编译 pyinstaller.exe -F -w -i logo.ico Main.py #### 参与贡献 https://github.com/SweetInk/wqxuetang-pdf-downloader