python 爬蟲 b站彈幕爬蟲

2021-10-08 19:49:46 字數 1604 閱讀 1875

# -*- coding:utf-8 -*-"""

獲取bilibili直播間彈幕

房間號從網頁源**中獲取

開啟直播畫面後,按ctrl+u 開啟網頁源**,按ctrl+f 搜尋 room_id

搜到的"room_id":1016中,1016就是房間號

獲取不**間的彈幕:修改**第26行的roomid的值為對應的房間號"""

import requests;

import

time

;class danmu(

): def __init__(self):

# 彈幕url

self.url =

'';# 請求頭

self.headers =

# 定義post傳遞的引數

self.data =

# 日誌寫物件

self.log_file_write = open(

'danmu.log',mode=

'a',encoding=

'utf-8');

# 讀取日誌

log_file_read = open(

'danmu.log',mode=

'r',encoding=

'utf-8');

self.log = log_file_read.readlines();

def get_danmu(self):

# 獲取直播間彈幕

html = requests.post(url=self.url,headers=self.headers,data=self.data).json();

# 解析彈幕列表

for content in html[

'data'][

'room'

]: # 獲取暱稱

nickname = content[

'nickname'];

# 獲取發言

text = content[

'text'];

# 獲取發言時間

timeline = content[

'timeline'];

# 記錄發言

msg = timeline+' '+nickname+': '+text;

# 判斷對應訊息是否存在於日誌,如果和最後一條相同則列印並儲存

if msg+'\n' not in self.log:

# 列印訊息

print (msg)

;# 儲存日誌

self.log_file_write.write(msg+'\n');

# 新增到日誌列表);

# 清空變數快取

nickname ='';

text ='';

timeline ='';

msg ='';

# 建立bdanmu例項

bdanmu = danmu();

while true:

# 暫停0.5防止cpu占用過高

time.sleep(0.5)

;# 獲取彈幕

bdanmu.get_danmu(

);

爬蟲專欄6 爬取B站彈幕

比如說這裡我隨便開乙個網頁 在xhr標籤裡面可以看到乙個小眼睛圖示的玩意兒,開啟那個url進去之後 就可以直接提取了 ps 1.針對匹配,乙個尖括號結束之後最好用.過渡到另乙個尖括號,不要什麼都不加,可能抓不出來 2.這是針對response.text和response.content.decode...

python 爬蟲 b站直播彈幕獲取

本文章的 可能已經過時了,請參考最新 博主本人在空閒的時候比較喜歡看一些遊戲直播,發現好多主播都在使用彈幕姬,便對彈幕姬的原理產生了興趣,打算自己動手做乙個彈幕播報的程式 import requests import win32com.client import time old list 建立乙個...

Python3爬蟲 鬥魚彈幕爬蟲

在網上找到了乙份鬥魚彈幕伺服器第三方接入協議v1.6.2,有了第三方介面,做起來就容易多了。鬥魚後台協議頭設計如下 這裡的訊息長度是我們傳送的資料部分的長度和頭部的長度之和,兩個訊息長度是一樣。然後要注意的是該協議使用的是小端整數,所以我們要對資料進行處理後再傳送,這裡可以使用int.to byte...