集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都python周末班教程-用Python开发弹幕轰炸程序怒怼“网络喷子”

发布者: 成都达内     浏览次数:

成都python周末班,人生苦短,我用Python,所以让我们一起来学习Python吧!互联网时代,说话没有了限制,于是网络上的“喷子”也是越来越多!动之以情晓之以理都解决不了这么“喷子”,...

  成都python周末班教程-用Python开发弹幕轰炸程序怒怼“网络喷子”

  人生苦短,我用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 = '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()

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼段35号明宇金融广场19楼1903室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:高新区奥克斯广场B座17楼08号

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座3楼

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼6楼14号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街紫东段35号明宇广场2306

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市成华区建设路10号万科钻石广场B座5楼

联系电话:15023458194

公交路线:建设路中(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

20016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56