用python给喜欢的主播自动发弹幕

本文详细介绍了如何通过Python发送直播弹幕,包括使用`requests`库发送POST请求,设置URL、数据参数和请求头,特别是关注了cookie管理和发送多个弹幕的循环实现。
摘要由CSDN通过智能技术生成

写在前面
发弹幕只是其中一个小小的功能,还可以自动点赞、收藏、投币、自动播放、私信等等,但是我们只演示这个,其它的不做展示。

实现步骤
先打开一个视频或者直播,F12打开开发者工具,点击network。
在这里插入图片描述
然后点这个清空一下
在这里插入图片描述
再发送一个弹幕,然后可以看到这个send,有一个post请求。
在这里插入图片描述
点击payload可以看到我们刚刚发送的弹幕相关数据
在这里插入图片描述
首先导入模块

import random
import time

这是我们的url

url = 'https://api.live.bi******.com/msg/send'

某些原因我就不打全了

接收一下data参数
在这里插入图片描述

data = {
    'bubble': '0',
    'msg': 6666,
    'color': '16777215',
    'mode': '1',
    'fontsize': '25',
    'rnd': '1640181316',
    'roomid': '22819508',
    'csrf': '131d24bf2b92a3609208ed83758ab8f2',
    'csrf_token': '131d24bf2b92a3609208ed83758ab8f2',
}

然后headers请求头这里,把cookie什么的都给它加上去。
在这里插入图片描述

headers = {
'cookie': '_uuid=CF79473B-0F83-6087-BCB0-23A7E36C479296281infoc; buvid3=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; blackside_state=1; rpdid=|(kmJY|kmu|)0J\'uYJRYkJu|Y; CURRENT_QUALITY=32; buvid_fp=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; video_page_version=v_old_home; sid=abkn3and; i-wanna-go-back=-1; b_ut=5; bp_video_offset_65901796=602085772740229500; LIVE_BUVID=AUTO5916400017585242; CURRENT_BLACKGAP=1; CURRENT_FNVAL=2000; b_lsid=FB21108D7_17DE26BCC89; fingerprint=3c7949ca118951ae1be0b5b37b321306; buvid_fp_plain=556F173C-C5B7-4583-86F9-FD1074EB421D143076infoc; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; SESSDATA=cec4dda4%2C1655733287%2Cc5b88*c1; bili_jct=131d24bf2b92a3609208ed83758ab8f2; innersign=0; _dfcaptcha=fbb016616944e9b94331aeb2627c9d3d; PVID=3',
'origin': 'https://live.bi****.com',
'referer': 'https://live.bi****.com/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
}

接收数据

response = requests.post(url=url, data=data, headers=headers)

输出

print(response.text)

这是最最最简单的版本,就四行代码就可以了。
在这里插入图片描述
视频运行一下,发了个你好。
在这里插入图片描述
那如果要发多一点呢?
给它一个列表
在这里插入图片描述

import random
import time
while True:
    lis = ['主播666', '主播真帅', '666']
    word = random.choice(lis)
    url = 'https://api.live.bi****.com/msg/send'
    data = {
        'bubble': '0',
        'msg': word,
        'color': '16777215',
        'mode': '1',
        'fontsize': '25',
        'rnd': '1640181316',
        'roomid': '22819508',
        'csrf': '131d24bf2b92a3609208ed83758ab8f2',
        'csrf_token': '131d24bf2b92a3609208ed83758ab8f2',
    }
    headers = {
    'cookie': '_uuid=CF79473B-0F83-6087-BCB0-23A7E36C479296281infoc; buvid3=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; blackside_state=1; rpdid=|(kmJY|kmu|)0J\'uYJRYkJu|Y; CURRENT_QUALITY=32; buvid_fp=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; video_page_version=v_old_home; sid=abkn3and; i-wanna-go-back=-1; b_ut=5; bp_video_offset_65901796=602085772740229500; LIVE_BUVID=AUTO5916400017585242; CURRENT_BLACKGAP=1; CURRENT_FNVAL=2000; b_lsid=FB21108D7_17DE26BCC89; fingerprint=3c7949ca118951ae1be0b5b37b321306; buvid_fp_plain=556F173C-C5B7-4583-86F9-FD1074EB421D143076infoc; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; SESSDATA=cec4dda4%2C1655733287%2Cc5b88*c1; bili_jct=131d24bf2b92a3609208ed83758ab8f2; innersign=0; _dfcaptcha=fbb016616944e9b94331aeb2627c9d3d; PVID=3',
    'origin': 'https://live.bi****.com',
    'referer': 'https://live.bi****.com/',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
    }
    response = requests.post(url=url, data=data, headers=headers)
    print(response.text)
    time.sleep(5)
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 斗鱼自动幕可以通过使用第三方库来实现,比如使用 Selenium 和 ChromeDriver。 首先,需要安装 Selenium 和 ChromeDriver。可以通过 pip 命令来安装 Selenium,通过下载 ChromeDriver 并将其路径添加到系统环境变量中。 接下来,我们可以编写 Python 脚本来实现自动幕的功能。 首先,导入 Selenium 和 需要的模块: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time ``` 然后,创建 ChromeDriver 的实例,并打开斗鱼网站: ```python driver = webdriver.Chrome() driver.get("https://www.douyu.com/") time.sleep(3) ``` 接下来,我们可以通过定位网页元素的方式,找到幕的文本框,并输入要送的内容: ```python text_box = driver.find_element_by_class_name("ChatSend-txt") text_box.send_keys("要送的幕内容") time.sleep(1) ``` 然后,通过定位送按钮,并模拟点击: ```python send_button = driver.find_element_by_class_name("ChatSend-button") send_button.click() time.sleep(1) ``` 最后,关闭 ChromeDriver: ```python driver.quit() ``` 完整代码如下: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() driver.get("https://www.douyu.com/") time.sleep(3) text_box = driver.find_element_by_class_name("ChatSend-txt") text_box.send_keys("要送的幕内容") time.sleep(1) send_button = driver.find_element_by_class_name("ChatSend-button") send_button.click() time.sleep(1) driver.quit() ``` 以上就是使用 Python 实现斗鱼自动幕的方法。可以根据实际需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值