Python爬取《后浪》弹幕,看看大家如何看待这部短片

举报
Python爱好者 发表于 2020/12/29 00:46:27 2020/12/29
【摘要】 昨天,正好是五四青年节,B站的一个短视频《后浪》火了,一时之间都是讨论后浪的各种话题,褒贬不一。 《后浪》 今天我们爬取B站上《后浪》的弹幕来看看,大部分人都是怎么去看待这部短片的。 爬取B站的弹幕我们还是使用下面这个API: https://api.bilibili.com/x/v1/dm/list.so?oid=xxxx 由于B站的av号变成bv号,那我们...

昨天,正好是五四青年节,B站的一个短视频《后浪》火了,一时之间都是讨论后浪的各种话题,褒贬不一。

《后浪》

今天我们爬取B站上《后浪》的弹幕来看看,大部分人都是怎么去看待这部短片的。

爬取B站的弹幕我们还是使用下面这个API:

https://api.bilibili.com/x/v1/dm/list.so?oid=xxxx

由于B站的av号变成bv号,那我们获取oid的方式也发生了一些变化:

https://api.bilibili.com/x/player/pagelist

获取oid的接口参数从aid变成了bvid,其余不变。

视频的BV号就是url最后那一串,拿到bv号之后,我们去获取视频的cid:


   
  1. bv = 'BV1FV411d7u7'
  2. url = f'https://api.bilibili.com/x/player/pagelist?bvid={bv}&jsonp=jsonp'
  3. res = requests.get(url)
  4. cid = res.json()['data'][0]['cid']

拿到cid之后,带入弹幕api的参数:

接着拿正则去匹配弹幕内容即可。


   
  1. url = f'https://api.bilibili.com/x/v1/dm/list.so?oid={cid}'
  2. res = requests.get(url)
  3. result = res.content.decode('utf-8')
  4. pattern = re.compile('<d.*?>(.*?)</d>')
  5. bullet_list = pattern.findall(result)

我们将爬取的弹幕做成词云图片:


   
  1. wordcloud = WordCloud(font_path='msyh.ttc', width=1000, height=1000).generate("".join(bullet_list))
  2. wordcloud.to_file('bullet.png')

我们从词云中可以看到,大部分都是对《后浪》短片的一种赞美。当然,从一些评论区中,我们也能看到,一部分人能对这样的作品感到不满,但是从另一个角度来说,如果一个作品能激励一部分人,又能引起一部分人的反思,那难道不是一部成功的作品吗?

"后浪"永远是一个社会发展的希望,通过这一次对短片的讨论,至少有一点是不可否认的:当代青年迸发出的浪花一直在这个时代闪耀!虽然《后浪》这支视频有一些不足,但不妨碍我们彼此一起在这个时代翻腾奔涌吧!

后台回复:后浪,获取完整代码


   
  1. 以上,便是今天的内容,希望大家喜欢,欢迎「转发」或者点击「在看」支持,谢谢各位。
  2. “扫一扫,关注我吧”

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/105942237

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。