最近在找一篇文档的时候找到了book118这个网站。里面的资源很显然是没有权限的,他应该只是搜集了一下,就要求付费下载了。真是让人火大。
顺手写了个小爬虫,下载文档。仅供学习交流使用。可能要一点python的基础。
下载:https://github.com/kerms5/book118/archive/refs/heads/master.zip
Book118
使用playwright强力驱动的book118下载工具。
简介:book118本身是直接将其图片连接放置在了页面元素内,但是存在一个懒加载的问题。即部分图像只有访问到时才会加载,所以这里使用playwright进行模拟访问,等待其加载完毕之后,使用beautifulSoup进行格式化,再利用自带的request进行下载。
进入页面之后,直接下拉完全,再使用sroll语句聚焦到每一个元素等待其懒加载。
由于对于懒加载完成的判定我暂时还没有搞清楚,所以这里完全是使用sleep语句等待加载,使用死循环+try+break,1秒钟做一次查询,直到获取链接,所以用的时间可能会比较长。
获取链接之后,使用request包直接下载图片。默认下载到运行目录下。
之后,再调用img2pdf包,转成pdf文件。
这里我保留了图片和pdf两种形式,如果只需要一种的可以后期再删除。
使用说明
下载、解压本项目,安装依赖
pip install -r requirements.txt
# 安装playwright库
pip install playwright
# 安装浏览器驱动文件(安装过程稍微有点慢)
python3 -m playwright install
访问book118网站,点击预览,复制链接,格式如下;
https://max.book118.com/html/2017/1105/139064432.shtm
以上面的链接为例,在项目文件夹下,使用:
python run.py 'https://max.book118.com/html/2017/1105/139064432.shtm'
运行将会在运行目录下生成图片和pdf文档。