python爬取bilibili弹幕_用Python爬取B站视频弹幕
原標題:用Python爬取B站視頻彈幕
via:菜J學Python
眾所周知,彈幕,即在網絡上觀看視頻時彈出的評論性字幕。不知道大家看視頻的時候會不會點開彈幕,于我而言,彈幕是視頻內容的良好補充,是一個組織良好的評論序列。通過分析彈幕,我們可以快速洞察廣大觀眾對于視頻的看法。
下面是通過一個關于《八佰》的視頻彈幕數據,繪制了如下詞云圖,感覺效果還是可以的。
海量的彈幕數據不僅可以繪制此類詞云圖,還可以調用百度AI進行情感分析。
那么,我們該如何獲取彈幕數據呢?
本文運用Python爬取B站視頻彈幕,讓你輕松獲取主流視頻網站彈幕數據。
1.網頁分析
本文以爬取up主硬核的半佛仙人發布的《你知道奶茶加盟到底有多坑人嗎?》視頻彈幕為例,首先通過以下步驟找到存放彈幕的真實url。
簡單分析url參數,很顯然,date參數表示發送彈幕的時間,其他參數均無變化。因此,只需要改變date參數,然后通過beautifulsoup解析到彈幕數據即可。
2.爬蟲實戰
importrequests #請求網頁數據
frombs4 importBeautifulSoup #美味湯解析數據
importpandas aspd
importtime
fromtqdm importtrange #獲取爬取速度
defget_bilibili_url(start, end):
url_list = []
date_list = [i fori inpd.date_range(start, end).strftime( '%Y-%m-%d')]
fordate indate_list:
url = f"https://api.bilibili.com/x/v2/dm/history?type=1&oid=141367679&date= {date}"
url_list.append(url)
returnurl_list
defget_bilibili_danmu(url_list):
headers = {
"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",
"cookie": "你自己的"#Headers中copy即可
}
file = open( "bilibili_danmu.txt", 'w')
fori intrange(len(url_list)):
url = url_list[i]
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text)
data = soup.find_all( "d")
danmu = [data[i].text fori inrange(len(data))]
foritems indanmu:
file.write(items)
file.write( "n")
time.sleep( 3)
file.close
if__name__ == "__main__":
start = '9/24/2020'#設置爬取彈幕的起始日
end = '9/26/2020'#設置爬取彈幕的終止日
url_list = get_bilibili_url(start, end)
get_bilibili_danmu(url_list)
print( "彈幕爬取完成")
3.數據預覽
-----------------
希望系統、快速學習
數據抓取與文本挖掘知識
可以學習數據分析專家@文彤老師的
《跟文彤老師學文本抓取與挖掘》系列視頻課程
系列課程包含以下三門課程
小白零編程網絡爬蟲實戰
Python數據分析--玩轉Pandas
Python數據分析--玩轉文本挖掘
以上順序也是學習的建議順序
課程提供講義(含代碼)與數據供練習
學習過程有問題可加Q群與老師交流討論
10.15~10.18期間參加課程學習
可享受5折優惠
今天最后一天,雙11也沒有這優惠力度
優惠價: 238.50元返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的python爬取bilibili弹幕_用Python爬取B站视频弹幕的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新干货下载 | 《5G应用创新发展白皮
- 下一篇: 【presto】函数大全