前言
最近追了两部剧,一个是《如此可爱的我们》,青梅竹马类型青春剧,一共16集,两次更新就完结了,全程就甜甜甜。另外一个是刚看的《琉璃》,看了两集,内容大概是上辈子的仇人,这辈子下凡历劫相爱了???(流氓解读法)
不百度不知道,这剧居然要59集,从这刻开始我打算弃剧了,太长了。小说改编,新人出演吧(?)
目前非会员可以看到第七集,因为我不是高贵的芒果会员,所以只看这七集的弹幕内容。这次搞的内容多一点,看起来我不是那么敷衍。
PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取
可以免费领取源码、项目实战视频、PDF文件等
开始动手
1.寻找带弹幕数据的json文件 点到播放页面-【查看源代码】-【Network】-【XHR】-【x.json】
2.打开url(找不到"x.json"多翻几次)
火狐浏览器打开的json文件格式看起来结构比较清晰,以下是谷歌浏览器打开的:
3.找规律
https://bullet-ali.hitv.com/bullet/2020/08/11/124238/9552358/1.json第一集
https://bullet-ali.hitv.com/bullet/2020/08/11/124021/9552380/2.json第二集
https://bullet-ws.hitv.com/bullet/2020/08/11/124249/9552439/3.json第六集
看不同剧集url,只有后部分数字不一样。第六集的前部分换成前二集的所得内容也完全相同的。x.json中的数字数是分钟数。如
哈哈哈哈哈,写着写着改变主意了。就看看第一集、第二集、第六集的弹幕吧,不然还要一集一集的等广告。
我们获取:
id、uname、弹幕内容content、发布时间time、弹幕点赞数v2_up_count
4.程序
import requests
import json
import pandas as pd
# 提取某一集的弹幕
def get_danmu(num1, num2, page):
try:
url = 'https://bullet-ali.hitv.com/bullet/2020/08/11/{}/{}/{}.json'
danmuurl = url.format(num1, num2, page)
res = requests.get(danmuurl)
res.encoding = 'utf-8'
jd = json.loads(res.text)
except:
print("无法连接")
details = []
for i in range(len(jd['data']['items'])): # 弹幕数据在json文件'data'的'items'中
result = {}
result['stype'] = num2 # 通过stype可识别期数
result['id'] = jd['data']['items'][i]['id'] # 获取id
try: # 尝试获取uname
result['uname'] = jd['data']['items'][i]['uname']
except:
result['uname'] = ''
result['content'] = jd['data']['items'][i]['content'] # 获取弹幕内容
result['time'] = jd['data']['items'][i]['time'] # 获取弹幕发布时间
try: # 尝试获取弹幕点赞数
result['v2_up_count'] = jd['data']['items'][i]['v2_up_count']
except:
result['v2_up_count'] = ''
details.append(result)
return details
# 输入关键信息
def count_danmu():
danmu_total = []
num1 = input('第一个数字')
num2 = input('第二个数字')
page = int(input('输入总时长'))
for i in range(page):
danmu_total.extend(get_danmu(num1, num2, i))
return danmu_total
def main():
danmu_end = []
# 爬前7集,设置循环7次
for j in range(3):
danmu_end.extend(count_danmu())
df = pd.DataFrame(danmu_end)
df.to_excel('liuli.xlsx')
if __name__ == '__main__':
main()
5.结果
这几集的弹幕总共有32574条。
- 弹幕中顶着哪个角色发的弹幕最多
大家都贪图男色吧!
- 高赞弹幕说什么(点赞200以上视为高赞)前面两集男主说话是结巴的,宫主呢好像是类似掌门一样的称号。
高赞基本都是围绕剧情搞笑的部分。
- 整体弹幕
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:努力学习的渣渣哦