1. 首页
  2. Python

自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触

“u003Cdivu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F15265463140356d8b2363f9″ img_width=”1205″ img_height=”1280″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E大家都应该有需要在百度文库下载文档的经历,或者充值成为微挨批(VIP),或者在某宝买券去下载,也有的勤勤恳恳的上传文章,慢慢的攒下载券,当然也有一点一点的复制粘贴。。。或者也有比较喜欢走捷径的,去什么什么文库等网站下载!或者一些人用其他破解方法,比如放到手机的百度文库 APP 里,另存为文章,不需要下载券就可以下载文章。诸如此类的方法,可谓五花八门。而对于学习爬虫的人来说,面对怎样免费下载一个付费的 word 文章的问题,第一个想到的应该就是:u003Cu002Fpu003Eu003Cpu003Eu003Cstrongu003E自己写个程序搞下来。u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003E我们以《中华人民共和国国家标准》为例,来看看怎么用 python 抓下来这篇文档!u003Cu002Fpu003Eu003Cpu003Eurl: https:u002Fu002Fwenku.baidu.comu002Fviewu002F378bf328fc4ffe473268ab12u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F152654633517996bb3e302f” img_width=”1150″ img_height=”894″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E感觉应该不难吧,至少开始我是这么想的,但是当我将文档拉到下面的时候,我看到了如下内容:u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F152654634550966bf0301c4″ img_width=”817″ img_height=”653″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E需要点击”继续阅读”才可以显示后面的内容,单抓这一页,是抓不完我们要的内容的。u003Cu002Fpu003Eu003Cpu003E那我们来抓包看看?然后一脸懵逼了。u003Cu002Fpu003Eu003Cpu003E一堆不明觉厉的代码,各种广告推广。。。果断放弃!u003Cu002Fpu003Eu003Cpu003E还有什么办法能抓取内容呢?带着这个思考,selenium 神器进入了我的脑海!u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F15265463697108c419e3366″ img_width=”669″ img_height=”309″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E安装 selenium 和浏览器驱动这里就不细说了,大家自行网上查找吧,很多很详细的!u003Cu002Fpu003Eu003Ch1u003E实战阶段u003Cbru003Eu003Cu002Fh1u003Eu003Cpu003E直接在网页中 F12 查看文档所在位置!u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1526546397478266c2bc42b” img_width=”981″ img_height=”739″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E这里可以看到,文档中的内容都在<div class=”ie-fix”>下面的 P 标签中,我们先用selenium 取得网页源码,然后直接用 xpath 抓标签,取内容(中间有 img 标签显示图片的取出 url)看看u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1526546419613c168719477″ img_width=”909″ img_height=”659″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E果然可以,文档内容部分已经取出,接下来就是定位到”继续阅读”标签,模拟点击,然后取后半部分了!u003Cu002Fpu003Eu003Cpu003E定位代码如下:u003Cu002Fpu003Eu003Cpu003Epage = driver.find_element_by_xpath(‘u002Fu002Fdiv[@class=”banner-more-btn”]’).click()u003Cu002Fpu003Eu003Cpu003E整体代码和效果如下:u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F15265464300894eb11ae4d8″ img_width=”1107″ img_height=”881″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E至此,完整文档就被我们抓下来了!如果有存在翻页的话,就需要定位后**页,除了第一次之后的都不需要在定位并点击”继续阅读”!当然中间还有图片等等形式的内容存在的文档,以 url 显示了!总体来说,selenium 做爬虫还是比较简单粗暴的。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1526546484976e6a49f00ba” img_width=”1280″ img_height=”853″ alt=”自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003EPS:这里我是用了 PhantomJS,如果有用 Firefox 或者谷歌的小伙伴要注意,最新版的好像不是很友好,建议大家用稍微旧一点的版本!u003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:自制 Python 脚本抓取文库资料,selenium+PhantomJS 爬虫初接触

主题测试文章,只做测试使用。发布者:战鹰,转转请注明出处:http://www.cxybcw.com/13316.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code