admin管理员组

文章数量:1516870

电视剧《民国奇探》是一部充斥着逗比风的探案剧,剧中主要角色:三土、四爷、白小姐,三土这个角色类似于《名侦探柯南》中的柯南但带有搞笑属性,四爷则类似于毛利小五郎但有大哥范且武功高强,三土尚文四爷尚武,白小姐大多时候扮演着傻白甜的角色。

因为该剧目前大多数时候都处于爱奇艺电视剧的榜首位置,所以自己也看了几集,总的来说剧情紧凑,剧风逗比,当然最令我印象深刻的还是网友们逗比的弹幕,所以我决定用 Python 将弹幕爬下来大家一起瞧瞧。

数据爬取


现在开始我们的爬取工作,先用浏览器打开电视剧的网页,地址为: ,我们使用开发者工具的 Network 功能,进到 Network 控制台后,我们先使用 Ctrl+R 命令重新加载一下网页,然后再通过过滤器搜索 bullet,如下图所示:

这里的弹幕数据是以 .z 形式的压缩文件存在的,如下图所示:

我们可以看出压缩文件命名规则为 tvid_300_n.z,所以我们先来获取 tvid 列表,代码实现如下所示:

def get_tvid():

tv_id 列表

tv_id_list = []

for i in range(1, 5):

url = ‘ \

‘aid=245212201&page=’\

  • str(i) + ‘&size=30’

res = requests.get(url).text

res_json = json.loads(res)

视频列表

move_list = res_json[‘data’][‘epsodelist’]

for j in move_list:

tv_id_list.append(j[‘tvId’])

return tv_id_list

获取到 tvid 列表后,我们就可以根据 tvid 获取弹幕的压缩文件了,然后再对其进行解压及存储,实现代码如下所示:

def save_bullet(tvid):

for page in range(1, 10):

url = ‘

  • tvid[-4:-2] + ‘/’\

  • tvid[-2:] + ‘/’\

  • tvid + ‘ 300 ’\

  • str(page) + ‘.z’

print(url)

请求弹幕压缩文件

res = requests.get(url).content

res_byte = bytearray(res)

try:

xml = zlib.decompress(res_byte).decode(‘utf-8’)

保存路径

path = ‘data/’ + tvid + ‘ 300 ’ + str(page) + ‘.xml’

with open(path, ‘w’, encoding=‘utf-8’) as f:

f.write(xml)

except:

return

文件存储到本地之后,我们先获取每一个文件的全路径名,实现代码如下所示:

def get_file(path):

for root, ds, fs in os.walk(path):

for f in fs:

yield root + ‘/’ + f

获取到所有文件全路径名后,我们再根据全路径名获取文件并解析弹幕文本信息,实现代码如下所示:

def get_bullet_text(f):

DOMTree = parse(f)

collection = DOMTree.documentElement

评论文本内容

xml_list = collection.getElementsByTagName(‘content’)

content_list = []

for j in xml_list:

content_list.append(j.childNodes[0].data)

return content_list

最后,我们可以将整个弹幕字符串信息保存起来,因为我本次爬取的弹幕信息并不是特别多,所有就先存到 txt 文件中吧,实现代码如下所示:

def save2txt(content):

with open(‘bullet.txt’, ‘a’, encoding=‘utf-8’) as file:

file.write(content)

词云展示


数据保存完了之后,我们再来个词云展示吧,代码实现如下所示:

def jieba_():

content = open(‘bullet.txt’, ‘rb’).read()
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

9f47b8a67243c1008edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

本文标签: 实现代码如下所示编程