用Python爬取B站视频弹幕

快来打我* 2022-12-15 11:10 524阅读 0赞

via:菜J学Python

众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕。不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列。通过分析弹幕,我们可以快速洞察广大观众对于视频的看法。

下面是通过一个关于《八佰》的视频弹幕数据,绘制了如下词云图,感觉效果还是可以的。

format_png

海量的弹幕数据不仅可以绘制此类词云图,还可以调用百度AI进行情感分析。

那么,我们该如何获取弹幕数据呢?

本文运用Python爬取B站视频弹幕,让你轻松获取主流视频网站弹幕数据。

1.网页分析

本文以爬取up主硬核的半佛仙人发布的《你知道奶茶加盟到底有多坑人吗?》视频弹幕为例,首先通过以下步骤找到存放弹幕的真实url。

format_png 1

简单分析url参数,很显然,date参数表示发送弹幕的时间,其他参数均无变化。因此,只需要改变date参数,然后通过beautifulsoup解析到弹幕数据即可。

2.爬虫实战

  1. import requests #请求网页数据
  2. from bs4 import BeautifulSoup #美味汤解析数据
  3. import pandas as pd
  4. import time
  5. from tqdm import trange #获取爬取速度
  6. def get_bilibili_url(start, end):
  7. url_list = []
  8. date_list = [i for i in pd.date_range(start, end).strftime('%Y-%m-%d')]
  9. for date in date_list:
  10. url = f"https://api.bilibili.com/x/v2/dm/history?type=1&oid=141367679&date={date}"
  11. url_list.append(url)
  12. return url_list
  13. def get_bilibili_danmu(url_list):
  14. headers = {
  15. "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
  16. "cookie": "你自己的" #Headers中copy即可
  17. }
  18. file = open("bilibili_danmu.txt", 'w')
  19. for i in trange(len(url_list)):
  20. url = url_list[i]
  21. response = requests.get(url, headers=headers)
  22. response.encoding = 'utf-8'
  23. soup = BeautifulSoup(response.text)
  24. data = soup.find_all("d")
  25. danmu = [data[i].text for i in range(len(data))]
  26. for items in danmu:
  27. file.write(items)
  28. file.write("\n")
  29. time.sleep(3)
  30. file.close()
  31. if __name__ == "__main__":
  32. start = '9/24/2020' #设置爬取弹幕的起始日
  33. end = '9/26/2020' #设置爬取弹幕的终止日
  34. url_list = get_bilibili_url(start, end)
  35. get_bilibili_danmu(url_list)
  36. print("弹幕爬取完成")

3.数据预览

format_png 2

长按识别下方二维码,并关注公众号

format_png 3

1.回复“PY”领取1GB Python数据分析资料

2.回复“BG”领取5GB 名企数据分析报告

发表评论

表情:
评论列表 (有 0 条评论,524人围观)

还没有评论,来说两句吧...

相关阅读

    相关 冰冰B视频原理解析

    > 上篇介绍了B站评论的获取方法和数据分析过程,本次将详细讲解B站弹幕爬取原理解析,这里讲解最简单的获取b站弹幕的方法,但也有局限性,仅仅获取了当日的弹幕,但当我再次尝试后,4

    相关 PythonB视频

    via:菜J学Python 众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕。不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评