python获取虎牙弹幕_教你用20行代码爬取直播平台弹幕(附源码)
前言
本文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,如有問題請(qǐng)及時(shí)聯(lián)系我們以作處理。
Python爬蟲、數(shù)據(jù)分析、網(wǎng)站開發(fā)等案例教程視頻免費(fèi)在線觀看
https://space.bilibili.com/523606542
基本開發(fā)環(huán)境
Python 3.6
Pycharm
相關(guān)模塊的使用
import requests
斗魚直播視頻彈幕爬取分析
斗魚就選擇的直播視頻,畢竟大主播彈幕發(fā)送會(huì)多一些。
復(fù)制其中一條彈幕,復(fù)制在開發(fā)者工具當(dāng)中進(jìn)行搜索。就可以看到相對(duì)應(yīng)的彈幕數(shù)據(jù)。
一個(gè)url地址,是包含了500條彈幕數(shù)據(jù)。
url地址有三個(gè)參數(shù):
vid:視頻ID (不改變的)
start_time:視頻開始的時(shí)間
end_time:不改變的
前500條彈幕數(shù)據(jù)開始的時(shí)間是0,就是從視頻最開始的時(shí)候,下一個(gè)開始的時(shí)候是可以在數(shù)據(jù)中找到的。
end_time:500條彈幕數(shù)據(jù)結(jié)束的時(shí)間,那不就是下一次彈幕數(shù)據(jù)開始的時(shí)間嘛。
最后一次的彈幕url地址:end_time:-1 ,所以給一個(gè)判斷跳出循環(huán)即可。
完整實(shí)現(xiàn)代碼
importrequests
url= 'https://v.douyu.com/wgapi/vod/center/getBarrageList?vid=Bjq4MeYNqLxM5Ea8&start_time=0&end_time=-1'
whileTrue:
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
response= requests.get(url=url, headers=headers)
html_data=response.json()
next_time= html_data['data']['end_time']
lis= html_data['data']['list']for li inlis:
barrage= li['ctt']
with open('dy彈幕.txt', mode='a', encoding='utf-8') as f:
f.write(barrage)
f.write('\n')print(barrage)
url= f'https://v.douyu.com/wgapi/vod/center/getBarrageList?vid=Bjq4MeYNqLxM5Ea8&start_time={next_time}&end_time=-1'
if next_time == -1:break
總計(jì)彈幕數(shù)量:8627
詞云效果
虎牙直播視頻彈幕爬取分析
主播那肯定是選擇
分析思路和斗魚彈幕是一樣的。
url地址有4個(gè)參數(shù):
callback:可以不添加,不添加可以直接取json數(shù)據(jù),添加之后就是字符串
vid:視頻ID (不改變的)
beginTime:視頻開始的時(shí)間
_:時(shí)間戳
下次開始的時(shí)間在數(shù)據(jù)接口中同樣有。
完整實(shí)現(xiàn)代碼
importrequestsimporttime
now_time= int(time.time() * 1000)
url= f'https://cxt.huya.com/open/danmu/timelist.do?vid=431927895&beginTime=0&_={now_time}'
whileTrue:
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
response= requests.get(url=url, headers=headers)
html_data=response.json()ifhtml_data:
nextBeginTime= html_data['nextBeginTime']
lis= html_data['list']for li inlis:
barrage= li['text']
with open('hy彈幕.txt', mode='a', encoding='utf-8') as f:
f.write(barrage)
f.write('\n')
url= f'https://cxt.huya.com/open/danmu/timelist.do?vid=431927895&beginTime={nextBeginTime}&_={now_time}'
print(nextBeginTime)else:break
總計(jì)彈幕數(shù)量:1280
詞云效果
總結(jié)
以上是生活随笔為你收集整理的python获取虎牙弹幕_教你用20行代码爬取直播平台弹幕(附源码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QUIC会成为互联网传输的颠覆者吗?
- 下一篇: python正则抓取身份证号码,验证18