基于Python实现给喜欢的主播自动发弹幕

 更新时间:2021年12月27日 10:51:40   作者:嗨学编程  
这篇文章主要介绍了python如何实现给喜欢的主播自动发弹幕的功能,文中的示例代码对我们学习Python有一定的帮助,感兴趣的朋友可以了解下

前言

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

实现步骤

先打开一个视频或者直播,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自动发弹幕内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python计算阶乘的两个函数用法

    python计算阶乘的两个函数用法

    这篇文章主要介绍了python计算阶乘的两个函数用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python中Scrapy框架的入门教程分享

    Python中Scrapy框架的入门教程分享

    Scrapy是一个基于Python的Web爬虫框架,可以快速方便地从互联网上获取数据并进行处理。本教程将介绍如何使用Scrapy框架来编写一个简单的爬虫,从而让您了解Scrapy框架的基本使用方法
    2023-03-03
  • Python实现简单文本字符串处理的方法

    Python实现简单文本字符串处理的方法

    这篇文章主要介绍了Python实现简单文本字符串处理的方法,涉及Python针对文本字符串的切割、计算、转换等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • selenium+python自动化测试之页面元素定位

    selenium+python自动化测试之页面元素定位

    这篇文章主要介绍了selenium+python自动化测试之页面元素定位,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Python如何测试stdout输出

    Python如何测试stdout输出

    这篇文章主要介绍了Python如何测试stdout输出,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-08-08
  • VSCode运行或调试python文件无反应的问题解决

    VSCode运行或调试python文件无反应的问题解决

    这篇文章主要给大家介绍了关于VSCode运行或调试python文件无反应的问题解决,使用VScode编译运行C/C++没有问题,但是运行Python的时候出了问题,所以这里给大家总结下,需要的朋友可以参考下
    2023-07-07
  • python系统指定文件的查找只输出目录下所有文件及文件夹

    python系统指定文件的查找只输出目录下所有文件及文件夹

    这篇文章主要介绍了python系统指定文件的查找只输出目录下所有文件及文件夹,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python排序算法之堆排序算法

    Python排序算法之堆排序算法

    堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。
    2023-01-01
  • matplotlib共享坐标轴的实现(X或Y坐标轴)

    matplotlib共享坐标轴的实现(X或Y坐标轴)

    在作图的过程中,我们经常会遇到子图共用坐标轴的情况,或是共用横轴标轴,也可能是纵坐标轴。本文就介绍了matplotlib共享坐标轴,感兴趣的可以了解一下
    2021-05-05
  • python爬虫lxml库解析xpath网页过程示例

    python爬虫lxml库解析xpath网页过程示例

    这篇文章主要为大家介绍了python爬虫lxml库解析xpath网页的过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论