小言_互联网的博客

Python爬取B站耗子尾汁、不讲武德出处的视频弹幕

430人阅读  评论(0)

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

前言

耗子喂汁是什么意思什么梗呢?可能很多人不知道,这个梗是出自马保国,经常上网的人可能听说过这个名字,而他所说的一些话也被当成了一些梗,比如年轻人不讲武德,闪电五连鞭等等

B站马保国的一段视频中他右眼红肿金句频出,部分经典句式甚至被网友们总结归纳成了“保国体”,变成了口头禅,比如“年轻人不讲武德,欺侮我六十九岁的老同志”“耗子尾汁”(好自为之)等

那么让我们来看看网友们大都发了啥弹幕

 

项目目标

爬取B站弹幕,词云图显示

 

第一个视频播放量快2000W了,弹幕也有4.8W

 

每天一遍,快乐源泉,嘿嘿嘿

环境

Python3.6

pycharm

爬虫代码

导入工具


  
  1. import requests
  2. import parsel
  3. import csv
  4. import time

先按F12,找到弹幕的数据在哪

 

从列表页中获取详情页的URL地址等数据

 

 


  
  1. for page in range( 20, 32):
  2. time.sleep( 1)
  3. print( '=================正在下载11月{}日弹幕===================================='. format(page))
  4. url = 'https://api.bilibili.com/x/v2/dm/history?type=1&oid=140610898&date=2020-11-{}'. format(page)
  5. headers = {
  6. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
  7. "cookie": "__uuid=1896D3F7-4A98-54EB-F7FA-3301CE9EF5F307776infoc; buvid3=B68B2187-4C3E-4466-A896-FBF9B292099B190963infoc; LIVE_BUVID=AUTO4115757254257055; stardustvideo=1; rpdid=|(umu|ulY)JJ0J'ul~l~klRJ); sid=8cq4r229; im_notify_type_65901796=0; laboratory=1-1; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; blackside_state=1; CURRENT_FNVAL=80; SESSDATA=a976c0b4%2C1618637313%2C4d792*a1; bili_jct=7f54729ec20660f750661122b80746d2; PVID=1; bp_video_offset_523606542=458111639975213216; CURRENT_QUALITY=16; bfe_id=1e33d9ad1cb29251013800c68af42315"
  8. }
  9. response = requests.get(url=url, headers=headers)
  10. response.encoding = response.apparent_encoding
  11. selector = parsel.Selector(response.text)
  12. data = selector.css( 'd::text').getall()
  13. for i in data:
  14. print(i)
  15. with open( 'B站弹幕.csv', mode= 'a', newline= '', encoding= 'utf-8-sig') as f:
  16. writer = csv.writer(f)
  17. links = []
  18. links.append(i)
  19. writer.writerow(links)

 

词云代码


  
  1. import jieba
  2. import wordcloud
  3. import imageio
  4. # 读取文件内容
  5. f = open('csv文件地址', encoding='utf-8')
  6. txt = f.read()
  7. # print(txt)
  8. # jiabe 分词 分割词汇
  9. txt_list = jieba.lcut(txt)
  10. string = ' '.join(txt_list)
  11. # 词云图设置
  12. wc = wordcloud.WordCloud(
  13. width= 800, # 图片的宽
  14. height= 500, # 图片的高
  15. background_color= 'white', # 图片背景颜色
  16. font_path= 'msyh.ttc', # 词云字体
  17. # mask=py, # 所使用的词云图片
  18. scale= 15,
  19. )
  20. # 给词云输入文字
  21. wc.generate(string)
  22. # 词云图保存图片地址
  23. wc.to_file('\\1.png')


转载:https://blog.csdn.net/m0_48405781/article/details/109755030
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场