Python爬取15万条《我是余欢水》弹幕,还原一个丧到极致的中年人生(2)

点赞最高的弹幕也特别有意思,比如:

余欢水——国家一级退堂鼓表演艺术家

记住!这是一瓶改变命运的假酒

你摔倒了,我们很同情马路

对不起,但是真的好想笑

真是让人感叹,这届网友实在是太有才了。余欢水都这么惨了,你们还嘲笑他,真是太坏了。

弹幕里大家都在讨论谁?

在这里插入图片描述

根据分析我们可以看到,讨论最多的当然是我们的男主了,有3974条弹幕都是关于余欢水的。

讨论最多的第二名是谁?你们绝对想不到,居然是公司三人组,余欢水的上司之一梁安妮,收获了2158条弹幕。比余欢水老婆甘虹的弹幕高出近一倍。

人物弹幕画像:

我们再根据主要人物的弹幕,整理出各个人物的画像,首先是余欢水,大家提到最多的就是演员郭京飞的演技,吊打一众小鲜肉,妥妥的用实力说话。

余欢水

在这里插入图片描述

余欢水也被观众戏称为“好惨一男的”,各种“窝囊”、“怂”、“惨”“令人心疼”,从中也看到了人到中年的无奈与现实。除此之外大家也疯狂串戏到了《都挺好》里的“苏明成”,感觉男主这么惨,看来编剧是想让余欢水给苏明成还债呀。

甘虹

在这里插入图片描述

我们再看到余欢水老婆甘虹的画像,大家提到最多的关键词是“大嫂”,要知道在都挺好里,高露演的是郭京飞的大嫂,这一转眼两人从叔嫂演成了夫妻。

梁安妮

在这里插入图片描述

看到收获弹幕第二高的角色——梁安妮。观众们都沉迷于她的演技,“性感”、“撩人”“好看”等都是关键词。认为这个角色是妥妥的魅力担当,演员高叶把这个人物的气质拿捏的死死的,果然漂亮小姐姐大家都喜欢。

赵觉民

在这里插入图片描述

再聊聊正午的金牌配角岳旸。听名字可能不太熟悉,但看脸就知道了,正午的剧里哪哪都有他。《我是余欢水》里,他演的是的领导赵觉明。他在《鬼吹灯之精绝古城》里演的是“大金牙”;到了《欢乐颂》,他演的是樊胜美的哥哥"樊胜英"。在弹幕里这两个角色名也常常被大家提到。

下面看到具体分析过程


此次分析我们获取腾讯视频的弹幕并进行数据数据,数据获取部分的具体思路如下:

  • 分析网站URL规律,获取弹幕数据URL请求接口和请求方式

  • 分析弹幕URL规律分析,获取翻页规律

数据获取


分析网站和数据定位

在这里插入图片描述

打开腾讯视频《我是余欢水》视频随便选取一集,观察我们需要抓取的弹幕,可以明显看出来弹幕不是在视频上的而是浮动在视频上面,而且弹幕在视频播放之后才滚动加载,所以我们大概能得出弹幕是JS异步加载的。

我们使用谷歌浏览器,右键审查元素,观察Network的请求,播放开始后出现了大量请求,我们在js选项下发现了一个比较特殊的请求 “danmu” ,打开这个请求后发现这就是我们要的弹幕数据。

在这里插入图片描述

切换到Headers下获取到弹幕数据的URL地址:

https://mfm.video.qq.com/danmu?otype=json&callback=jQuery19106242753790025646_1587109875909&target_id=5035751775%26vid%3Dy0033grdnk8&session_key=93970%2C2557%2C1587109877&timestamp=195&_=1587109875933

弹幕URL规律分析

首先,我们尝试删掉目标网址中不影响最终结果的部分参数,从而精简出网址如下:

https://mfm.video.qq.com/danmu?target_id=5035751775&vid=y0033grdnk8&timestamp=15

将第二,三个请求拿出来精简:

https://mfm.video.qq.com/danmu?target_id=5035751775&vid=y0033grdnk8&timestamp=45

https://mfm.video.qq.com/danmu?target_id=5035751775&vid=y0033grdnk8&timestamp=75

对比很容易找到规律,从第一页到第二页,timestamp值从15变到了45,第二页到第三页从45到75,target_id不变。

这个规律我们可以大胆猜测这个 timestamp 值是控制页数的,并且起始值是15每30秒更新一次。

一集视频弹幕有多少页呢?如何获取最后一个timestamp的值。

有一个小技巧,我们在构建URL地址的时候指定一个足够大的结尾步长,然后当获取不到内容时终止循环即可。

不同集之前我们需要寻找target_id的代码规律,此处暂不做赘述。

具体代码如下:

导入所需库

import requests

import json

import time

import parsel

import pandas as pd

def get_danmu_one_page(url_dm):

“”"

:param url_dm: 视频弹幕URL地址

:return: 一页的弹幕数据

“”"

添加headers

headers = {

‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36’,

‘cookie’: ‘你的电脑登录后的cookie信息’,

‘referer’: ‘https://v.qq.com/x/cover/mzc00200bll9mha.html’,

}

发起请求

try:

r = requests.get(url_dm, headers=headers, timeout=3)

except Exception as e:

time.sleep(3)

r = requests.get(url_dm, headers=headers, timeout=3)

解析网页

data = r.json()[‘comments’]

获取评论ID

comment_id = [i[‘commentid’] for i in data]

获取用户名

oper_name = [i[‘opername’] for i in data]

获取会员等级

vip_degree = [i[‘uservip_degree’] for i in data]

获取评论内容

content = [i[‘content’] for i in data]

获取评论时间点

time_point = [i[‘timepoint’] for i in data]

获取评论点赞

up_count = [i[‘upcount’] for i in data]

存储数据

df_one = pd.DataFrame({

‘comment_id’: comment_id,

‘oper_name’: oper_name,

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值