Python爬取快手直播彈幕


——更新日志——

23年5月15日

增加JSON庫來優化代碼,提高可讀性

23年1月31日

優化代碼,增加錯誤提示,把正則表達式單獨列出

特別說明:獲取LiveStreamId的正則表達式有變動

22年12月21日

優化了部分代碼,直接輸入直播鏈接即可獲取彈幕

22年7月14日

優化了代碼,增加一張演示圖片

————

運行環境:Python 3.9.13

import requests
import re
import json
import time

headers = {
    "User-Agent":
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
}

print("示例:https://live.kuaishou.com/u/LinMiaoWu")
URL = input("直播間鏈接:")

# 獲取LiveStreamId
r = requests.get(URL, headers=headers)
LiveStreamId = re.findall(r'(?<=liveStream":{"id":")(.*?)(?=",)', r.text)
danmu_list = ""
if LiveStreamId:
    # 彈幕地址
    danmu_list = 'http://livev.m.chenzhongtech.com/wap/live/feed?liveStreamId=' + LiveStreamId[0]
else:
    print("獲取liveStreamID失敗")

while LiveStreamId:
    time.sleep(3)
    r = requests.get(danmu_list, headers=headers)
    items = json.loads(eval(r.text))
    if items.get("liveStreamFeeds"):
        datas = items.get("liveStreamFeeds")[0]
        content = datas.get("content")
        user = datas.get("author").get("userName")
        try:
            print(f"{user}:{content}")# 用於除去Unicode編碼的內容
        except:
            continue

 

運行結果(用戶名稱已打碼)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM