随便在豆瓣网站找个电影
在此网页点击鼠标右键找到查看网页源代码或者使用快捷键Ctrl+U。即会跳转到下方页面:
获取地址栏url:https://movie.douban.com/subject/27186348/?tag=热门&from=gaia_video
回到电影介绍页面 点击F12
点击network 找到requests headers 获取浏览器的User-Agent;
接下来通过requests.get(url,headers).text 获取url中我们需要的信息即图二的html文件;
想要从html中获取到我们需要的信息要引入etree;
如果我们想要查看电影名和导演以及演员,那么我们需要在html文件中找到对应的属性;
通过图四可以看出以上关键词都在a标签中 且都包含 rel 这个属性;
因此我们可以通过xpath定位到我们想要获取关键词的位置,然后打印出来。
代码步骤如下:
import requests #requests是向网页发出请求
from lxml import etree #引入lxml中的etree
url='https://movie.douban.com/subject/27186348/?tag=热门&from=gaia_video' #获取豆瓣电影的基本信息
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
get=requests.get(url,headers=headers).text
selector=etree.HTML(get)
info={} #用来保存我们查找的信息
info['电影']=selector.xpath('//title/text()')[0].strip()
info['导演']=selector.xpath('//a[@rel="v:directedBy"]/text()')
info['演员']=selector.xpath('//a[@rel="v:starring"]/text()')
print(info)
运行结果如下: