如题:如何实现B站直播弹幕呢?

分析过程:

进入虎牙官网—>随便点个直播房间—>F12抓包,刷新

分析每一条请求,点响应,找到弹幕信息。如图

image.png

可以看出返回信息是json格式的,提交方法是get,再分析一下提交参数

image.png

分析完成。

代码部分:

import requests

import time

import random

url = 'http://www.huya.com/cache1min.php?m=chatMessage&tid=22808102&sid=2536653492' # get请求,向这个网址提交数据

#构造get提交参数

form = {'m':'chatMessage',

'tid':'22808102',

'sid':'2536653492',

}

header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:57.0) Gecko/20100101 Firefox/57.0'}

#循环提交数据,达到实时获取弹幕信息效果,通过调试发现,太快只提交一次数据的话弹幕可能会重复,故,暂停一下。

#但是暂停一下提交,还是可能获取到重复的数据。故这里采用前后数据进行比较的方法防止弹幕重复,当然你也可以用多次比较。

while True:

html1 = requests.get(url,headers =header,params=form)#开始提交数据

text1 = list(map(lambda ii: html1.json()['result']['chats'][ii]['chat'], range(20)))#获取数据,因为返回的数据是json格式,故可以用分层切片来取到弹幕那层,然后用map和lamda函数的用法取得弹幕信息,最后直接转换成list

#print(text1)

time.sleep(random.uniform(2,3)) #暂停3秒,再提交数据

html2 = requests.get(url, headers= header,params=form)

text2 = list(map(lambda ii: html2.json()['result']['chats'][ii]['chat'], range(20)))

#print(text2)

huyadanmu_txt = [item for item in text2 if item not in text1]#比较两个弹幕信息,列表推导弹幕信息

for danmu in huyadanmu_txt:

time.sleep(random.uniform(1,2))

print('虎牙直播间实时弹幕:',danmu)

python获取虎牙弹幕_python实现虎牙直播弹幕相关推荐

  1. python接收弹幕_Python项目2:弹幕复读机

    这个项目是我从B站的一个up主那学到的(原视频号269525280),感觉很是有趣,就是很欠打哈哈 一.功能 功能很简单,就是将B站直播间的每条弹幕重新发送一遍. 二.思路 先通过post请求获取实时 ...

  2. python获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  3. python 获取脚本当前路径_Python获取脚本所在目录的正确方法

    http://www.jb51.net/article/49035.htm 文章主要介绍了Python获取脚本所在目录的正确方法 1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os ...

  4. python获取网络时间_python获取网络时间和本地时间

    今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释. python获取网络时间获取网络时间 def getBeijinTime(): ""&qu ...

  5. python获取网页图片_Python获取网页上图片下载地址的方法

    本文实例讲述了Python获取网页上图片下载地址的方法.分享给大家供大家参考.具体如下: 这里获取网页上图片的下载地址是正在写的数据采集中的一段,代码如下: #!/user/bin/python3 i ...

  6. python 获取照片拍摄时间_Python实现获取照片拍摄日期并重命名的方法

    本文实例讲述了Python实现获取照片拍摄日期并重命名的方法.分享给大家供大家参考,具体如下: python获取照片的拍摄日期并重命名.不支持重复处理的中断. 重命名为:拍摄日期__原文件名 impo ...

  7. python获取文件路径名_python文件名获取文件路径

    如何使用Python获取文件所在目录和文件名 python中如何根据文件名找他的路径.现在我遍历到怎么才能将某一个文件对应的路径找到呢? 遍历用os.walk: import osfrom os.pa ...

  8. python获取网页图片_python抓取网页中的图片示例

    python抓取网页中的图片示例 代码如下: #coding:utf8 import re import urllib def getHTML(url): page = urllib.urlopen( ...

  9. python获取当前年月日_Python获取、格式化当前时间日期的方法

    Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点数),然后传递给 localtime 获取当前时间 #使 ...

  10. python获取登录按钮_Python:Selenium模拟Chrome浏览器抓取淘宝商品信息

    对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加载数据往往可以使用Selenium模拟浏览器的方式来获取. Selenium是一 ...

最新文章

  1. 为什么python对空格,缩进要求这么高?缩进稍微不对就报错!
  2. 在Ubuntu 14.04中使SublimeText 3支持中文输入法
  3. vue-:class的几种使用方式
  4. Redis整合springboot实现哨兵模式
  5. ajax荷马史诗,荷马史诗(8)
  6. 政府大数据治理的挑战及对策
  7. 电子围栏判断_电子围栏大用处:进出罐箱指定区域自动通知amp;罐箱库存和使用率自动计算...
  8. 计算机职业素养论文1500字,职业素养课后感想1500字
  9. [任天堂社长访谈之:Nintendo 3DS内置软件
  10. 华盛顿大学计算机专业gpa,华盛顿大学计算机专业相关介绍
  11. 公司银行考试有C语言程序吗,银行春季校园招聘计算机岗笔试考什么?会考编程吗?...
  12. Android智能聊天机器人
  13. Android内存优化深入解析
  14. 计算机驱动程序恢愎,如果意外卸载了计算机鼠标驱动程序,该怎么办_解决方案,以不小心卸载鼠标驱动程序...
  15. 机器学习 笔记04 ---决策树(DT):理论+代码实现
  16. 视频压缩软件,视频压缩软件哪个最好用?
  17. 校园歌手信息评分系统(C语言),大一新生期末实训
  18. Spring Boot 核心注解?主要由哪几个注解组成?
  19. 光环国际20周年庆六城联动峰会「北京场」圆满结束!
  20. POJ1837-Balance

热门文章

  1. MySQL压缩包下载及解压安装
  2. 保护系统 WinXP故障恢复控制台完全指引
  3. 【usb】安卓usb网络共享(RNDIS)
  4. 【图】max51开发板(手工焊接)
  5. 电路板上的插头怎么拔下来_怎么从电路板上拆卸多针脚电子元器件
  6. 3D动作绑定_3dmax【动画技巧】骨骼工具快速制作多动作人物动画
  7. Fdma, TDMA,cdma
  8. Openstack(T版)概述和环境部署
  9. JAVA缴税_根据工资和税率计算应缴税(java)
  10. 公平的席位分配(Q值方法)