BeautifulSoup爬取豆瓣电影排名

本文介绍了如何使用Python的BeautifulSoup库来爬取豆瓣电影Top250的排名、电影名称、参与人员、评分、评价人数和评价内容。通过分析网页源代码,确定CSS选择器,提取所需信息,并实现翻页功能获取所有电影数据。
摘要由CSDN通过智能技术生成

豆瓣电影排名网址:https://movie.douban.com/top250?start=0&filter=
在进去豆瓣电影排名后,打开浏览器的检查功能分析爬取页面源代码,在写请求代码之前,首先我们得找出网页的请求头部。
!](https://img-blog.csdnimg.cn/20190118195000494.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTcwNDE4Mg==,size_16,color_FFFFFF,t_70)
请求头部中的’User-Agent’,是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本,浏览器版本等信息。在做爬虫时加上该信息,可以伪装为浏览器,不加则会被认出为爬虫的风险。

headers={
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'}

接下来,对网页Elements代码进行分析,在未知爬取信息所在的时候,先用鼠标在body上下滑动,在所要爬取信息部分有阴影的时候停下。效果如下:
在这里插入图片描述
像上一步那样,不断滑动鼠标,最后可以找到所要爬取信息的位置在ol节点中,一般的电影排名或歌曲排名信息都会在ol或ul节点上。
在这里插入图片描述
在本次爬虫中,我们只要爬取电影排名中的排名、电影名字、参与人员、评分、评价人数、和评价等信息,所要先找出它们所在的节点,在用CSS选择器选取节点

#利用CSS选择器调用select函数获取排名节点

nums=soup.select('em')

#利用CSS选择器调用find_all函数获取电影名字节点

titles=soup.find_all('div',class_='hd')

#获取电影导演和演员节点

actors=soup.find_all('p',class_='')

#获取链接节点

links=soup.select('ol li div a')

#获取评分节点

  rating_nums=soup.find_all('span',class_='rating_num')

#获取评价人数节点

evaluate_numbers=soup.find_all('div',class_='star')

#获取评价节点

evaluates=soup.find_all('span',class_='inq')

上面我们只是选取了信息所在的节点,并没有对提取里面的文本信息,接下来对节点里面的信息进行清洗。

  • 排行信息
'排行':num.get_text(),
  • 电影名字信息(在源代码中我们可以看到,一部电影不止一个名字,在这里,我们只选取他的中文名字)
'电影名字':title.get_text().split
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GDUTSD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值