B站直播间炸屏Python源代码,仅用于学习交流,外加视频教程!

B站直播间炸屏Python源代码,仅用于学习交流,外加视频教程!

 换个思路去理解,其实也是Python开发人气制造工具,当然你也可以用去做其它事情,这个我也管不着。不过请不要用于违法行为即可,本人不负一切法律责任,此教程仅用于学习交流!

B站直播间炸屏Python源代码,仅用于学习交流,外加视频教程!

 

直接上代码,代码全部注释。

# !/usr/bin/env python # 在Linux系统和Mac系统上起作用

# -*- coding:utf-8 -*- # 告诉不同系统和不同版本的Python用同一种编码格式

# 导入一个第三请求库

import requests

# 导入一个时间模块

import time

request = requests.Session()

视频教程

# # 第一步: 获取实时弹幕

# # 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()

B站直播间炸屏Python源代码,仅用于学习交流,外加视频教程!

猜你喜欢

转载自www.cnblogs.com/q1613161916/p/9284279.html