更多课程 选择中心


Python培训

400-111-8989

用Python开发弹幕,是你抗衡的利器!

  • 发布:凡梦
  • 来源:python
  • 时间:2018-06-11 18:02

用Python开发弹幕,是你抗衡的利器!

用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培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:快速学习python编程技巧分享!
下一篇:感动满满|达内python培训学员就业感言

达内python培训机构就业喜报,用事实告诉你月薪过万不是梦!

python资讯|招聘AI人才开出4000万年薪,真的值吗?

你想自学python语言,因为它是黑客语言?

未来有两种人,会Python的和不懂Python的小学生?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省