导库并获取网页源代码
import lxml
import requests
url="https://movie.douban.com/top250"
headers={'User-Agent':'Mozilla/5.0 (Windows'}
req=requests.get(url,headers=headers)
print(req.text)
现在我们已经可以成功获取到源代码信息,下一步就是拿取我们所需要的数据了
使用Xpath确定其所在位置
打开检查,可以发现源代码中有许多<li>标签,易得电影条目位于<li>标签之下
因此现在我们只需要匹配所有的<li>标签之下的<span>标签,就能拿到我们的数据
那么我们的Xpath表达式就是
//li//a//span[1]/text()
将其写入我们的代码中
from lxml import etree
import requests
url="https://movie.douban.com/top250"
headers={'User-Agent':'Mozilla/5.0 (Windows'}
req=requests.get(url,headers=headers)
tree = etree.HTML(req.text)
r=tree.xpath('//li//a//span[1]/text()')
print(r)
现在,我们就得到了这一页电影的名字
分页
但这还不够,我们需要得到所有250条数据,观察url
第一页时 start=0,第二页时,start=25
我们只要写一个循环访问所有的网页即可得到数据
for i in range(0,226,25):
url = "https://movie.douban.com/top250?start=%d&filter="%i
headers={'User-Agent':'Mozilla/5.0 (Windows'}
req=requests.get(url,headers=headers)
tree = etree.HTML(req.text)
r=tree.xpath('//li//a//span[1]/text()')
print(r)
这样,我们就得到了所有数据