B站直播间炸屏Python源代码,仅用于学习交流,外…
2018-07-09 13:31:25来源:博客园 阅读 ()
直接上代码,代码全部注释。
# !/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()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash