前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理,
Python爬蟲、資料分析、網站開發等案例教程視頻免費在線觀看
https://space.bilibili.com/523606542
基本開發環境
- Python 3.6
- Pycharm
相關模塊的使用
import requests
斗魚直播視頻彈幕爬取分析
斗魚就選擇<一條小團團>的直播視頻,畢竟大主播彈幕發送會多一些,
復制其中一條彈幕,復制在開發者工具當中進行搜索,就可以看到相對應的彈幕資料,
一個url地址,是包含了500條彈幕資料,
url地址有三個引數:
vid:視頻ID (不改變的)
start_time:視頻開始的時間
end_time:不改變的
前500條彈幕資料開始的時間是0,就是從視頻最開始的時候,下一個開始的時候是可以在資料中找到的,
end_time:500條彈幕資料結束的時間,那不就是下一次彈幕資料開始的時間嘛,
最后一次的彈幕url地址:end_time:-1 ,所以給一個判斷跳出回圈即可,
完整實作代碼
import requests url = 'https://v.douyu.com/wgapi/vod/center/getBarrageList?vid=Bjq4MeYNqLxM5Ea8&start_time=0&end_time=-1' while True: 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 in lis: 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
總計彈幕數量:8627
詞云效果
虎牙直播視頻彈幕爬取分析
主播那肯定是選擇<永遠滴神>
分析思路和斗魚彈幕是一樣的,
url地址有4個引數:
callback:可以不添加,不添加可以直接取json資料,添加之后就是字串
vid:視頻ID (不改變的)
beginTime:視頻開始的時間
_:時間戳
下次開始的時間在資料介面中同樣有,
完整實作代碼
import requests import time now_time = int(time.time() * 1000) url = f'https://cxt.huya.com/open/danmu/timelist.do?vid=431927895&beginTime=0&_={now_time}' while True: 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() if html_data: nextBeginTime = html_data['nextBeginTime'] lis = html_data['list'] for li in lis: 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
總計彈幕數量:1280
詞云效果
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/248402.html
標籤:Python
