微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python爬取豆瓣电影评分代码?Python怎么抓取豆瓣电影评分

豆瓣是一个大众点评电影、图书、电视剧的网站,很多人都会在上面为自己支持或者反对的电影去评分,而这些评分也在一定程度上反映了该电影是否好看。而这一篇所讲解和介绍的内容就是python爬取豆瓣电影评分的代码以及步骤,感兴趣的话就往下看看吧。

一、实现思路

豆瓣上所有的电影都是可以在排行榜之中看到,而在这个界面中就可以看到有电影名、出版时间、演员以及评分等等信息,而这些数据实际上都是保存在了指定标签之中。所以只需要定位到标签然后获取其中的信息再进行解析,就可以得到电影名以及电影评分了。

二、实现代码

1.Python爬虫程序开发第一步就是导入所需要使用的模块,而像豆瓣网站发送请求需要用到requests库,解析和处理返回的数据则使用re以及bs4两个库。最后用pandas库来保存处理后的数据到文件代码示例如下所示:

import requests
import re
from bs4 import BeautifulSoup
import pandas as pd

2.然后分别定义两个变量来保存豆瓣电影排行榜网站连接以及请求头信息,再调用get()方法向这个网站发送请求获取数据,用BeautifulSoup解析源码为节点数形式。再通过正则表达式来定位指定元素,代码示例如下所示:

url = 'https://movie.douban.com/chart'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
}
html = requests.get( url , headers = headers)
bs = BeautifulSoup(html.text,'html.parser')
movie_list = bs.find_all(class_='item')
links = re.compile('class="nbg" href="(.*?)" title=')
links = re.findall(links,str(movie_list))

3.最后在for循环之中不断进入到新的页面获取电影名以及评分,最后将其保存到Dataframe结构之中,然后保存到csv文件内即可,详细代码如下所示:

for item in links[:1]:
  page = requests.get(item,headers=headers)
  page = BeautifulSoup(page.text,'html.parser')
  title = page.find_all(id = 'content' )
  set_title = re.compile('property="v:itemreviewed">(.*?)</span>')
  title = re.findall(set_title,str(title))
  rate = page.find_all(class_ = 'll rating_num')
  rate = re.findall('"v:average">(.*?)</strong>',str(rate))
dataframe = pd.DataFrame({"title":movies_title,"rate":movies_rate})
dataframe.to_csv("test.csv",encoding = 'gbk')

以上就是关于“Python爬取豆瓣电影评分代码?Python怎么抓取豆瓣电影评分”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐