最近几天学习爬虫,便爬取了B站的弹幕,本篇博文记录的是爬取弹幕的方法一,近期会更新方法二。
下面是流程:
1.随意打开一个B站视频,按F12,点开network按键,在左上方的输入区输入 list 便可找到相应的弹幕数据包。
点开这个包是这个形式的网站
这里面就有明文的弹幕,但通过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)