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 © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved