数据分析 告诉你《飞驰人生》为什么这么燃?

2023-11-18

数据分析《飞驰人生》为什么这么燃?


2019年贺岁电影《飞驰人生》在豆瓣排名和猫眼排名中都排名第二的位置
我们这里爬取了豆瓣500条的评论数据来,分析一下《飞驰人生》为何这么燃

(这里说明一下,之所以获取这么点数据,是豆瓣的 的反爬限制,非登录状态只能爬取200条,登录状态可以爬取500条)

运行环境:python3.6
需要安装的包:
requests
lmxl
pandas
numpy
matplotlib
jieba
wordcloud

2 数据采集

直接上代码

"""
豆瓣爬取 电影 <<飞驰人生>> 影评和评分
上映日期: 2019-02-05(中国大陆)
人名:name
时间:data_time
评分:score
简评:comment_short
评论投票:votes
"""
import requests,time,json,random
from lxml import etree
import re

def fly(headers,url):
	flying = []
	name_list=[]
	score_list=[]
	votes_list=[]
	comment_short_list=[]
	data_time_list=[]
	for i in range(0,480,20):
		new_url = url.format(i)
		requ = requests.get(new_url,headers=headers)
		req = requ.text
		content = etree.HTML(req)
		name = content.xpath("//div[@class='comment-item']//span[@class='comment-info']/a//text()")
		data_time = re.findall('<span class="comment-time.*title="(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}).*">',req)
		votes = content.xpath("//div[@id='comments']/div/div[2]/h3/span[1]/span[@class]//text()")
		comment_short = content.xpath("//div[@id='comments']/div/div[2]/p[@class]/span[@class]//text()")

		#score里面有一个bug,如果有的人没有评分,但是评论了,那么score解析出来是日期,而日期所在位置spen[3]为空
		fscore = content.xpath("//div[@id='comments']/div/div[2]/h3/span[2]/span[2]/@title")
		# data = content.xpath("//div[@id='comments']/div/div[2]/h3/span[2]/span[3]/@title")
		# 定义一个正则
		s = '\d{4}-\d{2}-\d{2}'
		score =[]
		# 将匹配的fscore转化为分数
		for i in fscore:
			mt= re.compile(s).match(i)
			if mt is not None:
				i = 0
			elif i =='很差':
				i = 2
			elif i == '较差':
				i = 4
			elif i == '还行':
				i = 6
			elif i == '推荐':
				i = 8
			else:
				i = 10
			score.append(i)
		# 防止ip被封
		time.sleep(round(random.uniform(7, 14), 2))
		name_list.extend(name)
		score_list.extend(score)
		votes_list.extend(votes)
		comment_short_list.extend(comment_short)
		data_time_list.extend(data_time)
	flying.append({
   
		'name':name_list,
		'score':score_list,
		'votes':votes_list,
		'comment_short':comment_short_list,
		'data_time':data_time_list
	})

	fl = json.dumps(flying,ensure_ascii=False)
# 	写入文件
	print(len(flying))
	with open('flying.txt','a+',encoding='utf-8') as f:
		f.write(fl)
if __name__ == '__main__':
	headers = {
   
		'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
		'Connection': 'keep - alive',
		'cookie':'...'
	}
	url ='https://movie.douban.com/subject/30163509/comments?start={}&limit=20&sort=new_score&status=P'
	fly(headers,url)

3 数据处理

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import json
with open('flying.txt','r',encoding='utf-8') as f:
    fly = f.read()
flying = json.loads(fly)
flying
f = pd.DataFrame(
    flying[0]
)
name score votes comment_short data_time
0 凝叶苔簌 8 3349 有幸参加了上海的全国看片会。沈腾始终是我的笑点,他就算站着不动我也会哈哈哈的笑起来。这一部不... 2019-02-05 09:04:30
1 1.9 2 7648 杂乱无章,不伦不类 2019-02-05 09:30:01
2 凌睿 0 9360 《飞驰人生》讲述昔日西虹市首富王多鱼因非法赛车被捕入狱、倾家荡产的故事,后来他经过不懈努力,... 2019-02-05 08:17:39
3 小葱 10 7086 很搞笑,拉力赛超级燃,后面有点感动,居然还看哭了,结局出乎意料,沈腾黄景瑜尹正演的都很好 2019-02-05 09:22:44
4 pirlo021 2 4132 韩寒好好开赛车办杂志不好吗,非得去拍电影,为什么要拍这么尴尬无聊做作苍白生硬的笑话集锦 2019-02-05 09:15:58
f.tail()
name score votes comment_short data_time
475 哪 吒 6 0 没什么新花样 2019-02-14 03:27:03
476 冷杉 8 1 赛车片,阿郎的故事冷笑话版。韩寒最喜欢的还是赛车,所以就赛车段落摄影和剪辑好看,纯粹是汽车广... 2019-02-06 21:05:10
477 盲忙 6 2 前边一大段看得我十分尴尬,如坐针毡,到底是想搞笑还是想励志?都想要的结果就是不伦不类,导致搞... 2019-02-08 01:31:48
478 8 0 4 從沒完整看過韓寒的任何一部電影,卻因為沈騰走進電影院。從頭笑到尾,也曉得其中一些韓老師想... 2019-02-09 02:48:54
479 爱屯最可爱 10 0 什么时候我能拥有这般纯粹的热爱???有那么一次奋不顾身。尹正真美。2019年春节第二发。 2019-02-13 17:29:42
f.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 480 entries, 0 to 479
Data columns (total 5 columns):
name             480 non-null object
score            480 non-null int64
votes            480 non-null object
comment_short    480 non-null object
data_time        480 non-null object
dtypes: int64(1), object(4)
memory usage: 18.8+ KB
# 将data_time转为时间序列
f['data_time'] = pd.to_datetime(f['data_time'])
f.head()
name score votes comment_short data_time
0 凝叶苔簌 8 3349 有幸参加了上海的全国看片会。沈腾始终是我的笑点,他就算站着不动我也会哈哈哈的笑起来。这一部不... 2019-02-05 09:04:30
1 1.9 2 7648 杂乱无章,不伦不类 2019-02-05 09:30:01
2 凌睿 0 9360 《飞驰人生》讲述昔日西虹市首富王多鱼因非法赛车被捕入狱、倾家荡产的故事,后来他经过不懈努力,... 2019-02-05 08:17:39
3 小葱 10 7086 很搞笑,拉力赛超级燃,后面有点感动,居然还看哭了,结局出乎意料,沈腾黄景瑜尹正演的都很好 2019-02-05 09:22:44
4 pirlo021 2 4132 韩寒好好开赛车办杂志不好吗,非得去拍电影,为什么要拍这么尴尬无聊做作苍白生硬的笑话集锦 2019-02-05 09:15:58
f.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 480 entries, 0 to 479
Data columns (total 5 columns):
name             480 non-null object
score            480 non-null int64
votes            480 non-null object
comment_short    480 non-null object
data_time        480 non-null datetime64[ns]
dtypes: datetime64[ns](1), int64(1), object(3)
memory usage: 18.8+ KB
# 去除缺失值得行
f.dropna(axis='rows')
f.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 480 entries, 0 to 479
Data columns (total 5 columns):
name             480 non-null object
score            480 non-null int64
votes            480 non-null object
comment_short    480 non-null object
data_time        480 non-null datetime64[ns]
dtypes: datetime64[ns](1), int64(1), object(3)
memory usage: 18.8+ KB
# 将votes转换为整形
f['votes']=f['votes'].astype(np.int)
f.tail()
name score votes comment_short data_time
475 哪 吒 6 0 没什么新花样 2019-02-14 03:27:03
476 冷杉 8 1 赛车片,阿郎的故事冷笑话版。韩寒最喜欢的还是赛车,所以就赛车段落摄影和剪辑好看,纯粹是汽车广... 2019-02-06 21:05:10
477 盲忙 6 2 前边一大段看得我十分尴尬,如坐针毡,到底是想搞笑还是想励志?都想要的结果就是不伦不类,导致搞... 2019-02-08 01:31:48
478 8 0 4 從沒完整看過韓寒的任何一部電影,卻因為沈騰走進電影院。從頭笑到尾,也曉得其中一些韓老師想... 2019-02-09 02:48:54
479 爱屯最可爱 10 0 什么时候我能拥有这般纯粹的热爱???有那么一次奋不顾身。尹正真美。2019年春节第二发。 2019-02-13 17:29:42
f.info()
<class 'pandas.core.frame.DataFrame&
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析 告诉你《飞驰人生》为什么这么燃? 的相关文章

  • iOS开发,tableView中cell的重用详解

    注意 原创版权 转载必须标明出处作者 翻版必究 iOS中tableView是一个大的模块组件 它的重要性每个iOSCoder都是了解的 但是tableView中却有个重大的坑 就是cell的重用 每个刚接触iOS开发的人都深受其海 那么经过
  • AD18出现Unknown Pin报错解决

    问题描述 检查错误 检查原理图对应元件的封装是否存在 检查原理图与封装PCB引脚数量是否对应 检查原理图与封装的管脚是否统一 找到原因 原理图的管脚命名与PCB封装管脚命名不一致 问题解决 修改原理图管脚名称 修改PCB Library的管

随机推荐

  • luajit struct

    This page is intended to give you an overview of the features of the FFI library by presenting a few use cases and guide
  • 使用Stable Diffusion图像修复来生成自己的目标检测数据集

    点击上方 AI公园 关注公众号 选择加 星标 或 置顶 作者 R dig par Gabriel Guerin 编译 ronghuaiyang 导读 有些情况下 收集各种场景下的数据很困难 本文给出了一种方法 深度学习模型需要大量的数据才能
  • MOS管做二极管使用

    注 个人学习记录 目录 原理分析 电路仿真 NMOS电路连接方法 NMOS仿真I V特性曲线 PMOS电路连接方法 PMOS二极管接法的I V特性曲线 原理分析 如下图所示 左边为NMOS 右边为PMOS 由MOS管的结构可以看出 其衬底B
  • 图解laravel的生命周期

    先来张图大致理解下laravel的生命周期 下面对应相应的代码 解释上图 文件路径 laravel public index php laravel的启动时间 define LARAVEL START microtime true 加载项目
  • 2024王道408数据结构 P92 T3

    2024王道408数据结构 P92 T3 思考过程 这题比较复杂做的我好 累 首先我们还是先看懂题目 让我们用一个栈来实现递归函数的非递归计算 我们先剖析一下这个表达式 式子展开变成图上这样 那既然让我们用非递归来计算 那我们顺理成章就想到
  • [Qt]控件

    文章摘于 爱编程的大丙 文章目录 1 按钮类型控件 1 1 按钮基类 QAbstractButton 1 1 1 标题和图标 1 1 2 按钮的 Check 属性 1 1 3 信号 1 1 4 槽函数 1 2 QPushButton 1 2
  • 蓝桥杯单片机14届省赛解析(个人)

    下面记录一下自己这届省赛比赛时的思路 不太会写作文 比较口语化 而且一些看法仅仅是我个人观点 赛后我还没有看过任何讲解或例程 可能会有很多理解不对的地方希望大家能够指出一起交流 一 硬件框图 往届省赛基本上都是考两个外设 这次一看硬件框图就
  • vue 集成高德地图

    准备工作 高德地图官网 https lbs amap com 高德地图JS API 2 0 教程 https lbs amap com api jsapi v2 summary 高德地图JS API 2 0 参考手册 https lbs a
  • python中sqlite3对数据库的增删改查

    1 python API的介绍 1 connection 数据库连接对象 连接对象 建立python客户端与数据库的网络连接 创建方法 sqlite3 connect 参数 2 cursor 游标对象 2 增删改查的流程 select语句
  • C++代码审查工具Cppcheck和TscanCode

    cppcheck简介 cppcheck 是一个静态代码检查工具 支持c c 代码 作为编译器的一种补充检查 cppcheck对源代码执行严格的逻辑检查 助力开发与测试工程师从代码层面挖掘问题 聚焦于包括逻辑错误 可疑的代码 运算错误 空指针
  • stm32通过spi连接esp8266的hspi 开发

    stm32通过spi连接esp8266的hspi 开发 刚刚做了stm32通过spi连接esp8266的开发 目前已经解决了遇到的大多数问题 基本可以交付使用了 写一篇文章留作记录 也可以给以后做这个的朋友做为参考 esp8266模块本身发
  • Nand Flash基础知识

    1 Nand Flash组织架构 Device Package 就是封装好的nand flash单元 包含了一个或者多个target 一个target包含了一个或者多个LUN 一个target的一个或者多个LUN共享一组数据信号 每个tar
  • 一个迷惑性很高的生产故障-Elasticsearch日志rotate导致节点CPU激增

    背景 Elasticsearch CPU很高的场景很常见 优化读写以及扩容即可解决问题 如果只有一个节点CPU高 那可能的情况就比较多了 节点机器异常 读写不均匀 GC过高 forcemerge 这里描述一个极具迷惑性的case 问题 收到
  • 电机专题2:直流有刷电机工作原理

    直流有刷电机的工作原理 直流有刷电机 其实就是直接最简单的方式利用安培力 给导线通电 然后在磁场中运动 在上面的电流电机物理模型中 电刷和主磁铁是固定不动的 是电机的定子 绕组线圈和换向片连接到一起 为转子 电机的工作过程 这种是直流有刷电
  • diskmark使用教程

    raid盘测速 首先说明一下软件各个参数的意义 1 9 测试次数 50MB 4000MB 测试规模 C D E F选择测试对象 ALL 测试以下所有 第一行代表你硬盘的读写速度 第二行代表你硬盘4K文件多线程读写速度 第三行代表你硬盘的连续
  • 计算机概论易错题总结:概念类

    为期末考试 冲鸭 文字类 1 在计算机运行时 把程序和数据一样存放在内存中 这是1946年由 领导的研究小组 正式提出并论证的 冯 诺依曼 2 被誉为第一位程序员的是 Augusta 3 我国自行设计研制的天河2号计算机是 巨型机 记法 天
  • JSP动态网页设计——tomcat配置、第一个动态工程

    默认设置 已完成eclipse安装 JDK安装 环境配置 下载tomcat压缩包 已上传至资源 并解压好 启动tomcat 在此文件夹下找到bin文件 在bin目录下点击startup bat 启动标志 双击弹出黑框 若出现以下图片 则已启
  • STL之Set基本用法

    单独说一下Set是因为这个工具以前很少用 因为接触不多 后来发现功能太强大了 本来很多题目用Set可以快速通过 但无奈之前都没有使用set的习惯 导致吃了不少亏 set功能非常强大 原因在于Set就是一棵二叉搜索树 我们在很多题目中经常遇到
  • 在Android下初始化Native OpenGL ES

    在上一篇文章中 介绍了在Android Native层初始化EGL及OpenGL ES的方法 其中 大量代码花费在EGL的初始化上面 非常的麻烦 在本文中 将展示利用GLSurfaceView来代替我们手动初始化EGL的过程 用GLSurf
  • 数据分析 告诉你《飞驰人生》为什么这么燃?

    数据分析 飞驰人生 为什么这么燃 2019年贺岁电影 飞驰人生 在豆瓣排名和猫眼排名中都排名第二的位置 我们这里爬取了豆瓣500条的评论数据来 分析一下 飞驰人生 为何这么燃 这里说明一下 之所以获取这么点数据 是豆瓣的 的反爬限制 非登录