爬虫实战之《流浪地球》豆瓣影评分析(一)

本文介绍了如何使用Python爬取《流浪地球》的豆瓣影评数据,包括评分、评论时间、用户信息等,并进行初步分析,如评论数量与评分的关系、用户城市分布等。在爬取过程中,遇到的反爬策略和解决方案也进行了探讨。
摘要由CSDN通过智能技术生成
  1. 背景与挖掘目标
  2. 获取豆瓣评论数据
  3. 分析好评与差评的关键信息
  4. 分析评论数量及评分与时间的关系
  5. 分析评论者的城市分布情况

1. 背景与挖掘目标

豆瓣(douban)是一个社区网站。网站由杨勃(网名“阿北”) 创立于2005年3月6日。该网站以书影音起家,提供关于书籍、电影、音乐等作品的信息,无论描述还是评论都由用户提供(User-generated content,UGC),是Web 2.0网站中具有特色的一个网站。
网站还提供书影音推荐、线下同城活动、小组话题交流等多种服务功能,它更像一个集品味系统(读书、电影、音乐)、表达系统(我读、我看、我听)和交流系统(同城、小组、友邻)于一体的创新网络服务,一直致力于帮助都市人群发现生活中有用的事物。

2019年2月5日电影《流浪地球》正式在中国内地上映。根据刘慈欣同名小说改编,影片故事设定在2075年,讲述了太阳即将毁灭,已经不适合人类生存,而面对绝境,人类将开启“流浪地球”计划,试图带着地球一起逃离太阳系,寻找人类新家园的故事。
《流浪地球》举行首映的时候,口碑好得出奇,所有去看片的业界大咖都发出了同样赞叹。文化学者戴锦华说:“中国科幻电影元年开启了。”导演徐峥则说,“里程碑式的电影,绝对是世界级别的。
可是公映之后,《流浪地球》的豆瓣评分却从8.4一路跌到了7.9。影片页面排在第一位的,是一篇一星影评《流浪地球,不及格》。文末有2.8万人点了“有用”,3.6万人点了“没用”。
关于《流浪地球》的观影评价,已经变成了一场逐渐失控的舆论混战,如“枪稿”作者灰狼所说,“关于它的舆论,已经演化成‘政治正确、水军横行、自来水灭差评、道德绑架、战狼精神。’”

挖掘目标:
  1. 获取豆瓣评论数据
  2. 分析好评与差评的关键信息
  3. 分析评论数量及评分与时间的关系
  4. 分析评论者的城市分布情况

2. 获取豆瓣评论数据

目标网址:https://movie.douban.com/subject/26266893/comments?status=P

数据爬取 selenium
短评解析 XPath
数据转化 DataFrame
翻页 selenium

获取首页数据

通过selenium和chromedriver获取数据

from selenium import webdriver
driver = webdriver.Chrome()

url 
  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,这是一个非常有趣的话题。您想了解哪些方面的内容呢?我们可以分为两个部分来讨论:一是如何爬取《流浪地球》的豆瓣影评,二是如何对数据进行分析。 首先,我们需要使用 Python 爬取豆瓣网站上《流浪地球》的影评。这里我推荐使用 Requests 和 Beautiful Soup 库来实现。具体步骤如下: 1. 导入所需库:`import requests` 和 `from bs4 import BeautifulSoup` 2. 构造URL:`url = 'https://movie.douban.com/subject/26266893/comments?status=P'`,其中 `26266893` 是《流浪地球》的豆瓣电影ID,`status=P` 表示只显示已经通过审核的影评。 3. 发送请求并获取HTML页面:`response = requests.get(url)`,`html = response.text` 4. 解析HTML页面:`soup = BeautifulSoup(html, 'html.parser')` 5. 提取影评内容:`comments = soup.find_all('span', {'class': 'short'})`,其中 `short` 是影评的CSS类名。这样就可以获取到一页的影评内容了。 6. 循环遍历所有页面并提取影评:在步骤2中,`comments` 后面的数字表示第几页的影评,我们可以通过循环遍历来获取所有页面的影评。 接下来,我们可以对爬取到的影评数据进行分析。这里我们可以使用 Pandas 和 Matplotlib 库来进行数据处理和可视化。具体步骤如下: 1. 导入所需库:`import pandas as pd` 和 `import matplotlib.pyplot as plt` 2. 将影评数据转为 DataFrame 格式:`df = pd.DataFrame(comments, columns=['comment'])` 3. 统计影评字数:`df['comment_len'] = df['comment'].apply(len)`,这样就可以得到每条影评的字数。 4. 统计影评评分:`df['rating'] = df['comment'].apply(lambda x: x.split()[0])`,这样就可以得到每条影评的评分。 5. 统计影评情感分析:可以使用第三方库 TextBlob 来进行情感分析,得到每条影评的情感得分。 6. 可视化分析结果:可以使用 Matplotlib 来绘制柱状图、散点图等图表,来展示分析结果。 以上就是基本的流程,具体实现细节还需要根据实际情况来调整。希望这些内容能够对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值