广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机学校 > 惠州计算机学校 > 正文

用Python开发弹幕,是你抗衡的利器!_惠州计算机Python培训学校

作者:黄君发布时间:2021-05-23分类:惠州计算机学校浏览:853


导读:用Python开发弹幕你可以作为联欢晚会节目的背景,同样你可以怼“网络喷子”,你知道吗?不知道的话跟随下面的Python课程来了解一下吧:

环境:

Python3.6+ Windows

模块:


# 导入一个第三请求库

import requests

# 导入一个时间模块

import time

第一步:获取实时弹幕

1.1 定一个需要送的表单


def post_info_data():

# 1.2 打包一些基本信息

from_data = {

'csrf_token': '',

'roomid': 10185039,

'visit_id': '92cvaa6up88w'}

return from_data

1.2 发送我们已经打包好的数据


def post_data_url(data):

# 要数据到这个URL

url = 'https://api.live.bilibili.com/ajax/msg'

# 发送数据得到响应

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

# 一层一层的通过键值对的键找到我们的

data = response.json()['data']['room']

# 定义一个列表保存最近的10条弹幕数据

itemcont = []

# 遍历我们从字典中所有的键

for items in data:

itemcont.append(items['text'])

# print(response)

return itemcont[-1]

用一个变量接收打包好的数据


post_data = post_info_data()

# 用一个循环来无限获取

while True:

# 睡眠1秒,再接着运行

time.sleep(1)

# 得到最新的一条弹幕信息

cont = post_data_url(post_data)

print(cont)

# print(post_data)

第二步: 发送实时弹幕

2.1要找到我们发送弹幕的URL


# 所需要发送的数据

def post_data_cont():

post_data = {

'color': '16777215',

'csrf_token': '',

'fontsize': 25,

'mode': 1,

'msg': '嗨',

'rnd': '1527404803',

'roomid': '10185039'}

return post_data

向服务器发送信息


def post_url_data(data):

# 向这个地址,提交表单,表单中包含了我们需要发送的弹幕信息

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

# cookie 用于服务器记录我们的登录信息

cookie =

{'Cookie':

'buvid3=9D5AF13F-81C3-44D2-ADBF-7E9EE187FC0A13512infoc;

LIVE_BUVID=AUTO5515224216712884;

rpdid=kxxkikiqkwdosiipioxpw;

finger=c650951b;

Hm_lvt_8a6e55dbd2870f0f5bc9194cddf32a02=1527401127,1527404662;

sid=4r7a6x2c;

fts=1527401995;

DedeUserID=321074467;

DedeUserID__ckMd5=17d6f40c8a8668f0;

SESSDATA=c30fb9e3%2C1529994023%2Ca56e1407;

bili_jct=57cef56872eb3d2938ee9b66edd0bacd;

_dfcaptcha=f6bf50348608fde1876dc53faba7f655;

Hm_lpvt_8a6e55dbd2870f0f5bc9194cddf32a02=1527404804'}

# 向服务器提交我们的个人信息,以及需要发送的表单内容和发送到什么地址

response = requests.post(url, cookies=cookie, data=data)

# print(response)

# 检测我们发送的状态,是不是正常发送

if response.status_code == 200:

print(response.json())

pass

form_data = post_data_cont()

post_url_data(form_data)

print(form_data)

第三步: 组合第一步和第二步

3.1步


def post_info_data(roomid):

# 3.2 打包一些基本信息

from_data = {

'csrf_token': '57cef56872eb3d2938ee9b66edd0bacd',

'roomid': roomid,

'visit_id': '92cvaa6up88w'}

return from_data

3.2 发送我们已经打包好的数据


def post_data_url(data):

# 要数据到这个URL

url = 'https://api.live.bilibili.com/ajax/msg'

# 发送数据得到响应

response = request.post(url, data=data)

# 一层一层的通过键值对的键找到我们的

data = response.json()['data']['room']

# 定义一个列表保存最近的10条弹幕数据

itemcont = []

# 遍历我们从字典中所有的键

for items in data:

# 把得到的弹幕信息添加到列表中

itemcont.append(items['text'])

# print(response)

return itemcont[-1]

3.3步

def post_data_cont(post_msg,roomid):

post_data = {

'color': '16777215',

'csrf_token': '57cef56872eb3d2938ee9b66edd0bacd',

'fontsize': 25,

'mode': 1,

'msg': post_msg,

'rnd': '1527404803',

'roomid': roomid}

return post_data

3.4 向服务器发送信息


def post_url_data(data):

# 向这个地址,提交表单,表单中包含了我们需要发送的弹幕信息

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

# cookie 用于服务器记录我们的登录信息

cookie = {'Cookie': ''}

# 向服务器提交我们的个人信息,以及需要发送的表单内容和发送到什么地址

request.post(url, cookies=cookie, data=data)

# print(response)

# 检测我们发送的状态,是不是正常发送

# 主函数,(程序入口)

def main():

roomid = input('请输入你想要整蛊的房间ID:')

while True:

time.sleep(2)

form_msg_data = post_info_data(roomid)

post_msg = post_data_url(form_msg_data)

print('实时弹幕是 - > %s' % post_msg)

post_msg_cont = post_data_cont(post_msg,roomid)

print('正在发送的弹幕 - > %s ' % post_msg)

post_url_data(post_msg_cont)

if __name__ == '__main__':

main()


点击咨询直接了解更多相关资料,我在惠州北大青鸟新方舟等你。

 

本文内容转载自网络,版权归原作者所有,如有侵权请联系我们进行删除。


标签:惠州计算机软件培训惠州计算件软件开发惠州计算机软件基础惠州计算机Python软件开发惠州Python培训学校惠州Python培训python基础教程python是什么python教程python入门


惠州计算机学校排行
标签列表
网站分类
文章归档
最近发表