抓取网页生成电子书( Android移动开发基础案例教程-爬取电子书)
优采云 发布时间: 2022-04-11 03:30抓取网页生成电子书(
Android移动开发基础案例教程-爬取电子书)
前言
为了省钱,小编找了一本电子书网站,“学霸”,小编搜了一下,找到了“学霸清华”
但不是唯一的,还有“学术北京师范大学珠海分校”,应该是学校后缀的。
一旦我们注册了一个帐户,我们就可以开始抓取我们想要的电子书了。
这两个网站结构相似。
爬取分析
编辑选择这个url作为爬虫
我们以爬取《Android移动开发基础案例教程》为例
打开开发者工具,翻了几页发现是动态加载的,url如下
我们看到url中有一个参数t,说明在请求的时候需要构造这个参数t,并拼接url来请求它
视觉上可能是时间戳,我们可以使用 time.time() 来生成时间戳
与参数t相比,python代码生成小数,长度不同。乘以 1000 然后使用 int() 函数使其长度与参数 t 相同,但 int() 直接丢弃小数点。是的,我们不知道t是否取整,所以为了保证一次性请求成功,编辑器直接执行生成参数t的js代码,生成对应的参数t,即绝对正确。
js生成时间戳的代码如下
在python中使用execjs执行js代码
这样,我们爬取请求的必要参数就解决了。
其余的可以根据爬虫逻辑直接写。
注意pdf只能浏览前十页。如果你想全部浏览,你需要登录并在请求头中放一个cookie。
pdf合并
爬下来后是pdf文件,文件名以页码命名,我们需要全部合并成pdf,代码如下:
综合结果如下:
合并完成后,我们就有了电子书。
吃饱喝足的感觉真好,这样我就可以省钱买皮了。