貌似学习python就绕不过爬虫,今天看了很多资料,各式各样的爬虫,各种尝试,最后还是只能搞定入门级的,嗯,一步步来吧……

 
import requests from lxml import html url='https://music.douban.com/' #需要爬的网址
page=requests.Session().get(url) tree=html.fromstring(page.text)
result=tree.xpath('//tr//a/text()') #需要获取的数据
result1=tree.xpath('//tr//a/@href') result2=tree.xpath('//tr[last()]//a/@href')
print(result) print(result1) print(result2)


我们爬取一下豆瓣音乐专区,其中url便是我们要爬取的网址,而tree.xpath()中的内容便是该网址中我们要获取的数据,显而易见,该程序爬取了三部分内容,//tr//a/text()便是需要抓取内容的路径,意思是所有标签下的tr标签的所有a标签的文本内容,是不是有点绕口,其实这就是一个相对路径,注意一个‘/’和两个‘/’的区别,可以分别理解成绝对路径和“所有”~~

 

第二个爬取的内容为a标签的href属性值,第三个为最后一个tr标签下的所有a标签的href属性值。

看结果吧:



看一下豆瓣音乐要爬取的部分主页:



查看下源码:



我们可以看到清晰的路径~~~以下是最后一个tr标签的内容:



有个很纳闷的事儿,大家也注意到了,抓取的内容多了个“豆瓣摄影”,href中也有其链接,打开之后是这个样子的:



然而在原网页中并没有找到这一部分,不知道藏哪里了。。

最后看一下各元素值信息:



接下来搞一下高档次的爬虫,这个还是很有意思的……

 

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信