目录
  • 前言
  • 实现步骤
  • 全部代码

前言

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

实现步骤

先打开一个视频或者直播,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)

这是最最最简单的版本,就四行代码就可以了。

找了个没人看的视频运行一下,发了个你好。

那如果要发多一点呢?

给它一个列表

lis = ['主播666', '主播真帅', '666']

导入的random模块就是为了随机取一个弹幕

word = random.choice(lis)

然后我们在写一个死循环

while true:
    lis = ['主播666', '主播真帅', '666']
    word = random.choice(lis)

导入的time是一个延时函数,我们在每次发完之后,我们延迟五秒钟,放到最后面。

time.sleep(5)

再来看看效果

全部代码

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) 

到此这篇关于基于python实现给喜欢的主播自动发弹幕的文章就介绍到这了,更多相关python自动发弹幕内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!