每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!
anmu 是一个开源的直播平台弹幕接口,使用他没什么基础的你也可以轻松的操作各平台弹幕。使用不到三十行代码,你就可以使用Python基于弹幕进一步开发。支持斗鱼、熊猫、战旗、全民、Bilibili多平台弹幕。支持各版本Python,无平台依赖,方便各类开发者、爱好者使用。一次开启,主播上线自动连接,下线后上线自动重连。
给喜欢的主播来个爱的轰炸。
经过深度优化,几乎不漏过任何一条弹幕;使用抽象构架,方便修改与开发。
欢迎加入柯西学python群:725479218,欢迎大家加入!!!!!
Documents
你可以在官网获取使用帮助。
Installation
可以通过本命令安装 danmu:
pip install danmu
Simple uses
通过如下代码,可以初步通过Python对弹幕进行处理。
import time, sysfrom danmu
import DanMuClientdef
pp(msg):
print(msg.encode(sys.stdin.encoding, 'ignore'). decode(sys.stdin.encoding))
dmc = DanMuClient('http://www.douyu.com/lslalala')
if not dmc.isValid():
print('Url not valid')
@dmc.danmudef danmu_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
@dmc.giftdef gift_fn(msg):
pp('[%s] sent a gift!' % msg['NickName'])
@dmc.otherdef other_fn(msg):
pp('Other message received')
dmc.start(blockThread = True)
Screenshot

Advanced uses
设置默认的消息处理方式
消息被分为三种类型注册:danmu, gift, other
分别对应:普通弹幕,礼物消息,其他消息
如果某种类型没有注册过,将会使用默认方法,默认方法的注册方式如下:
from danmu import DanMuClientdmc = DanMuClient('斗鱼网页')
@dmc.defaultdef default_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
取消已经注册过的方法
通过以下方式可以取消某一种类型的注册。
from danmu import DanMuClientdmc = DanMuClient('斗鱼网页')
dmc.default(None)dmc.gift(None)
FAQ
Q: 获取的消息格式都是什么?
A: 消息为一个字典,必有三个键:NickName、Content、MsgType,对应用户名、消息内容、消息类型。
每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!的更多相关文章
- 自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万!
大家好,今天又给大家带来了Python爬虫的分享,今天我们继续上次的问题,继续来研究一下虎牙平台的爬虫. 起因 写完上次的代码,我冒出有一个很有趣的想法,就是,我们可以使用selenium来完成虎牙自 ...
- 90后外挂开发者:已经有许多主播在我这里在外挂,我月入50W
绝地求生上线不到一年已经火爆全球,玩家们表示再差的优化也抵挡不住我们玩游戏的热情,近日,各大平台主播糯米油条五五开等人的开挂实锤闹得沸沸扬扬,玩家之间刮起了一阵反击外挂的风暴. 俗话说得好,没有买卖就 ...
- 鹅厂优文|主播pk,如何实现无缝切换?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文作者,rexchang(常青),腾讯视频云终端技术总监,2008 年毕业加入腾讯,一直从事客户端研发相关工作,先后参与过 PC QQ.手 ...
- 荣耀TCL都玩智慧屏“噱头”,海信却引行业未来方向
编辑 | 于斌 出品 | 于见(mpyujian) 如今手机联接我们生活方方面面的同时,大家却也由此习惯了低头示人.据美国的一家数据研究中心显示,目前中国智能手机普及率已达到68%,居民日均手机屏幕使 ...
- 求求你们了,别再写满屏的 if/ else 了!
为什么我们写的代码都是 if-else? 程序员想必都经历过这样的场景:刚开始自己写的代码很简洁,逻辑清晰,函数精简,没有一个 if-else,可随着代码逻辑不断完善和业务的瞬息万变:比如需要对入参进 ...
- 记录一下自己爬虎牙LOL主播的爬虫思路
1.明确爬虫目的 爬虫目的需要我们明确的,没有目的的爬虫都是耍流氓!像我这次爬虫目的能不能从网页上爬下来. 2.怎么来爬? a. 先要找到具有唯一性的标签 <li class="gam ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- css背景图片拉伸 以及100% 满屏显示
如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在 ...
- 虎牙数万主播同时在线直播的秘密,CDN推流日志上行实时监控
6 月 10 日,又拍云 Open Talk | 2018 音视频技术沙龙·深圳站 顺利落幕,来自虎牙的直播运维研发架构师张波在沙龙上做了<基于CDN推流日志的主播上行实时监控及其自动化解密&g ...
随机推荐
- nginx报错zero size shared memory zone one
为了限速,在虚拟主机中加上了一个参数:limit_conn one 1:结果导致重启nginx报错: zero size shared memory zone "one"解决办法是 ...
- numpy库的常用方法
np.abs() 计算数组各元素的绝对值1 a= [0,1,2,3,4,-5,9,-3,12,-4] np.abs(a)out: array([ 0, 1, 2, 3, 4, 5, 9, 3, 12, ...
- 微信小程序踩过的一些坑
前言 迄今为止,正儿八经的上线了真正意义上的程序,但是这个小程序却着实不小. 之所以不小,是因为这个类似于社区的小程序,已经做了大部分都有的功能了 举例说明,具体的一些功能点: 1.帖子列表页面:会有 ...
- 解决git did not exit cleanly (exit code 128)
最近在用git提交代码到部门服务器上的时候,总是有 提示 git did not exit cleanly (exit code 128).网上有2种解决方式: 1.替换路径 1.鼠标右键 -> ...
- NO.1食品超市经营管理的数据方案
背景 丸悦是一家日资企业,经营管理方式有着很强的日本文化风格:讲流程.重细节.丸悦2013年进入中国,沿袭固有经营管理方式,并且只选择日本供应商合作,日常经营出现诸多摩擦,最终多方原因导致年亏损300 ...
- 腾讯X5WebView集成及在移动端中使用
工作中经常涉及H5网页的加载工作,最多使用的就是安卓系统控件WebView,但是当网页内容比较多的时候,需要等待很久才能加载完,加载完后用户才能看到网页中的内容,这样用户需要等很久,体验很差. 那能不 ...
- python与MongoDB的基本交互:pymongo
本文内容: pymongo的使用: 安装模块 导入模块 连接mongod 获取\切换数据库 选择集合 CRUD操作 首发时间:2018-03-18 20:11 pymongo的使用: 安装模块: pi ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- 三步搞定Centos 7 上特定版本的 docker 安装
由于国内网络原因,使用centos的用户yum源常用国内的阿里云.现在把centos7上安装docker的详细过程记录如下: 一.配置centos7的yum源(阿里云) 1.cd /etc/yum. ...
- Java ——基础语法
package myhello; // 本类所在的包的路径 import af.util.AfMath; // 导入对应的类 import java.util.Random; // 导入随机数的类 p ...