大家好,又见面了,我是你们的朋友全栈君。
节约时间,不废话介绍了,直接上例子!!!输入以下代码(共6行)
import requests
from lxml import html
url='https://movie.douban.com/' #需要爬数据的网址
page=requests.Session().get(url)
tree=html.fromstring(page.text)
result=tree.xpath('//td[@class="title"]//a/text()') #获取需要的数据
我们来看下获取的数据
print(result)
['看不见的客人',
'斯隆女士',
'美女与野兽',
'契克',
'分裂',
'莎士比亚外传',
'八月',
'休斯顿,我们有麻烦了!',
'古城一线牵',
'被操纵的城市']
爬虫结束~~~有木有满满成就感!!!
以上代码爬取的是这个页面,红色框框里面的数据,也就是豆瓣电影本周口碑榜。
下面开始简单介绍如何写爬虫。
爬虫前,我们首先简单明确两点:
1. 爬虫的网址;
2. 需要爬取的内容(数据)。
第一步,爬虫的网址,这个…那就豆瓣吧,我也不知道为啥爬虫教程都要拿豆瓣开刀–!
第二部,需要爬取的内容(数据)。
这也正是上面6行代码中的最后一行,也可能是新手觉得最难的地方了。代码的这个部分就是获取数据。
'//td[@class="title"]//a/text()'
下面来一步一步操作如何写出上面的那行代码
1. 打开网址https://movie.douban.com/,然后按一下F12。
2. 鼠标点击图中的按钮。
- 鼠标点击需要爬取的数据,这里我们点“看不见的客人”,如图所示。
- 看到大红色框框里的东西,是不是和我们最“重要”的代码有很多相似的地方。
再看来最后一行代码中最“重要”的部分。
‘//td[@class=”title”]//a/text()’
- //td :这个相当于指定是大目录;
- [@class=”title”]:这个相当于指定的小目录;
- //a :这个相当于最小的目录;
- /text():这个是提取其中的数据。
爬虫介绍结束,看完你也该试试手了。
试试爬“即将上映”
这个只需将最后一行代码改成
result=tree.xpath('//li[@class="title"]//a/text()')
如图所示“即将上映”的电影就被你爬下来了。
是不是感觉爬虫很简单,已经会了。
现实中,在爬虫乎面临很多问题,比如:
1. 页面规则不统一;
2. 爬下来的数据处理;
3. 反爬虫机制。
还有很多类似的各种问题,想要深入变成大神,还是需要一步一步来,5分钟变大神是不可能啦~~!
上面6行代码包括的内容有python requests包,html知识,XPATH等。网上资料很多,这里就不做介绍了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133881.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...