爬虫小项目之一 爬取百度文库资料
2020-07-06 本文已影响0人
Charles_ye
最近在做一个小项目,写医药生产SOP操作规程。一开始以为只是小case,直到我看了这张清单:

只有这个吗?No~No~No~,这只是其中一页,还有5页纸,总共有一百多项。What? 我一个人写完?那是不可能滴。我是个喜欢偷懒的人,想当年。。。(此处省略一千字)。好吧,不瞎扯了,大家时间都比较宝贵,我们直接进入主题,用selenium爬取百度文库文档连接,用冰点文库下载。
首先,选择selenium是因为百度文库的防爬措施做得太好了。不仅如此,百度文库还有很变态的地方,直接搜索得到的结果不是我想要的,一定要点一下search!~~~
直接上代码:
#coding:utf-8
import gevent
import gevent.monkey
gevent.monkey.patch_all()
import gevent.pool
import selenium
import urllib.parse
import selenium.webdriver
import time
import lxml
import lxml.etree

简书的编辑器似乎对书写代码不太友好。这里通过协程池和无界面浏览器加快爬取速度。不过这种策略要网速跟得上才行。下载下来是这样的:

这个该怎么用呢?用过冰点文库的自然懂。下载下来就是这样的:

总结:使用selenium在百度文库搜索关键词,并下载第一个界面的所有百度文库地址(只用第一个界面是因为第一个网页的搜索结果质量最高)。得到这些地址列表最后使用冰点文库批量白嫖。