爬取B站弹幕

最近几天学习爬虫,便爬取了B站的弹幕,本篇博文记录的是爬取弹幕的方法一,近期会更新方法二。

下面是流程:

1.随意打开一个B站视频,按F12,点开network按键,在左上方的输入区输入 list 便可找到相应的弹幕数据包。

爬取B站弹幕

 点开这个包是这个形式的网站

爬取B站弹幕

这里面就有明文的弹幕,但通过requests获得的response是经过utf-8编码加密过的,想要获得弹幕内容还要解密。

下面附代码:

from bs4 import BeautifulSoup
import requests
import urllib
import re



headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
    }

response = requests.get("https://api.bilibili.com/x/v1/dm/list.so?oid=29453153", headers=headers)
#print(response.text)
html_doc = response.content.decode('utf-8')
#soup = BeautifulSoup(html_doc,'lxml')
format = re.compile("<d.*?>(.*?)</d>")
DanMu = format.findall(html_doc)
print(DanMu)
for i in DanMu:
    print(i)