Python培训
400-996-5531
用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 = '#/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 = '#/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 = '#/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 = '#/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培训机构进行咨询。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © Tedu.cn All Rights Reserved 京ICP备08000853号-56
京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有