用Python分析了5.8w+《觉醒年代》影评,观众都是怎么评价这部通吃高考作文的电视剧?

简介: 大家好,我是志斌~今天《觉醒年代》这部剧可谓是再次冲上热搜,因为它的剧情竟然通吃了许多省市的高考语文作文!这可真是谁看了这部剧,就真的偷偷乐了!

大家好,我是志斌~


今天《觉醒年代》这部剧可谓是再次冲上热搜,因为它的剧情竟然通吃了许多省市的高考语文作文!这可真是谁看了这部剧,就真的偷偷乐了!


志斌上豆瓣上搜了一下这部剧,发现它的评分是9.3分,在打分极其严格的豆瓣上竟然能得9.3分,那这部剧一定是一部非常经典的剧!


38.png


本文通过爬取《觉醒年代》豆瓣短评,进行数据可视化分析,在后台回复【觉醒】即可获得全部代码。


01数据采集


在之前的文章我们已经对豆瓣短评的数据采集有过详细的介绍,有不懂的小伙伴可以看看这篇文章我用python分析《你好,李焕英》豆瓣30万+评论,终于找到了它大卖的原因。这里我们直接展示爬虫核心代码:


for page in range(80):
  try:
      params = (
          ('start', str(page * 20)),
          ('limit', '20'),
          ('status', 'P'),
          ('sort', 'new_score'),
          ('comments_only', '1'),
          ('ck', 'qN8_'),
      )
      r = requests.get('https://movie.douban.com/subject/32493124/comments', headers=headers, params=params, cookies=cookies)
      yonghumingchengs = re.findall('<a title="(.*?)href.*?">', r.json()['html'], re.S)
      youyongshus = re.findall('<span class="votes vote-count">(.*?)</span>', r.json()['html'], re.S)
      pinglunshijians = re.findall('<span class="comment-time " title="(.*?)">', r.json()['html'], re.S)
      pingluns = re.findall('<span class="short">(.*?)</span>', r.json()['html'], re.S)
      for i in range(20):
          a = a + 1
          sheet.append([yonghumingchengs[i], youyongshus[i], pinglunshijians[i].split()[0].split("-")[-1],
                        pinglunshijians[i].split()[1].split(":")[0], pingluns[i]])
      print(f"已爬取完第{page}页数据,存入{i + 1}条数据....")
  except:
      wb.save("全部.xlsx")
      print(f"共爬取{page}页数据,存入{a}条数据....")


02数据清洗


01 合并Excel


因为是分全部、好评、一般、差评四个部分来对影评进行爬取的,所以我们要对这四个影评文件夹进行合并。代码如下:


for i in files:
  wb = openpyxl.load_workbook(i)
  sheet = wb['豆瓣评论']
  for i in range(2,502):
      A_cell = sheet[f'A{i}']
      B_cell = sheet[f'B{i}']
      C_cell = sheet[f'C{i}']
      D_cell = sheet[f'D{i}']
      E_cell = sheet[f'E{i}']
      a = [A_cell.value,int(B_cell.value),int(C_cell.value),int(D_cell.value),E_cell.value]
      sheet_1.append(a)


想要详细了解批量合并Excel的读者可以看看这篇文教你如何快速合并内容相似的Excel文件


02 导入评论数据


用pandas读取合并后的影评数据并预览。


df = pd.read_excel('全部.xlsx',names=['用户名称','点赞数','评论日期','评论时间','评论内容'])
print(df.head())



39.png


查看数据类型


查看字段类型和缺失值情况,符合分析需要,无需另做处理。


df.info()



40.png


03可视化分析


我们现在对爬取的短评数据来进行可视化分析。


01 各类评论占比


41.png


这部剧有5.8w+的短评,竟然好评占到了97%,真不愧是在豆瓣上都能得到9.3分的神剧!没刷的小伙伴,赶紧抽空刷起来!


02 主演提及次数



42.png


这部电视剧中,我选出了六位大家较为熟悉的人物,来看他们的提及次数,其中陈独秀先生的提及次数最多是214,其次是鲁迅先生和李大钊先生,分别是113和111。


这也很符合电视剧的剧情背景,那个年代陈独秀先生、鲁迅先生和李大钊先生的思想确实走在前列!


那让我们来看看大家在影评中都是怎么评价陈独秀先生的。



43.png


各类星级占比



44.png



从图中我们可以看出,有75.3%的观众给这部剧打了5星,19.3%的观众打了4星,打1星和2星的观众加起来才1.7%。这样看来观众是真的十分肯定这部电视剧!


04

评论发表时间分布



45.png


从图中我们可以看出,大部分影评发表时间在21点-次日0点,看来大部分的观众观影时间是在夜晚,可能是因为电视播放在这个时间段的缘故。



04小结


1. 本文仅供学习研究使用,提供的评论仅供参考。

2. 本人对影视的了解有限,言论粗糙,还请勿怪


相关文章
|
3天前
|
算法 搜索推荐 开发者
别再让复杂度拖你后腿!Python 算法设计与分析实战,教你如何精准评估与优化!
【7月更文挑战第23天】在Python编程中,掌握算法复杂度—时间与空间消耗,是提升程序效能的关键。算法如冒泡排序($O(n^2)$时间/$O(1)$空间),或使用Python内置函数找最大值($O(n)$时间),需精确诊断与优化。数据结构如哈希表可将查找从$O(n)$降至$O(1)$。运用`timeit`模块评估性能,深入理解数据结构和算法,使Python代码更高效。持续实践与学习,精通复杂度管理。
22 9
|
5天前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【7月更文挑战第22天】在大数据领域,Python算法效率至关重要。本文深入解析时间与空间复杂度,用大O表示法衡量执行时间和存储需求。通过冒泡排序(O(n^2)时间,O(1)空间)与快速排序(平均O(n log n)时间,O(log n)空间)实例,展示Python代码实现与复杂度分析。策略包括算法适配、分治法应用及空间换取时间优化。掌握这些,可提升大数据处理能力,持续学习实践是关键。
17 1
|
5天前
|
存储 算法 搜索推荐
告别低效编程!Python算法设计与分析中,时间复杂度与空间复杂度的智慧抉择!
【7月更文挑战第22天】在编程中,时间复杂度和空间复杂度是评估算法效率的关键。时间复杂度衡量执行时间随数据量增加的趋势,空间复杂度关注算法所需的内存。在实际应用中,开发者需权衡两者,根据场景选择合适算法,如快速排序(平均O(n log n),最坏O(n^2),空间复杂度O(log n)至O(n))适合大规模数据,而归并排序(稳定O(n log n),空间复杂度O(n))在内存受限或稳定性要求高时更有利。通过优化,如改进基准选择或减少复制,可平衡这两者。理解并智慧地选择算法是提升代码效率的关键。
|
9天前
|
机器学习/深度学习 监控 算法框架/工具
使用Python实现深度学习模型:人脸识别与人脸表情分析
【7月更文挑战第18天】 使用Python实现深度学习模型:人脸识别与人脸表情分析
25 2
|
9天前
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
|
5天前
|
数据采集 算法 数据处理
Python中的并发编程:异步IO与多线程对比分析
传统的多线程编程在Python中因为全局解释器锁(GIL)的存在受到限制,导致多线程并不能充分利用多核处理器的优势。本文将探讨Python中的异步IO编程与多线程编程的差异与优劣,并分析适合的应用场景。
|
自然语言处理 算法 Python
|
自然语言处理 算法 索引
|
2天前
|
网络协议 开发者 Python
深度探索Python Socket编程:从理论到实践,进阶篇带你领略网络编程的魅力!
【7月更文挑战第25天】在网络编程中, Python Socket编程因灵活性强而广受青睐。本文采用问答形式深入探讨其进阶技巧。**问题一**: Socket编程基于TCP/IP,通过创建Socket对象实现通信,支持客户端和服务器间的数据交换。**问题二**: 提升并发处理能力的方法包括多线程(适用于I/O密集型任务)、多进程(绕过GIL限制)和异步IO(asyncio)。**问题三**: 提供了一个使用asyncio库实现的异步Socket服务器示例,展示如何接收及响应客户端消息。通过这些内容,希望能激发读者对网络编程的兴趣并引导进一步探索。
11 4