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