原
每个大主播都是满屏弹幕,怎么做到的?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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
Screenshot
Advanced uses
设置默认的消息处理方式
消息被分为三种类型注册:danmu, gift, other
分别对应:普通弹幕,礼物消息,其他消息
如果某种类型没有注册过,将会使用默认方法,默认方法的注册方式如下:
from danmu import DanMuClientdmc = DanMuClient('斗鱼网页')
@dmc.defaultdef default_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
- 1
- 2
- 3
取消已经注册过的方法
通过以下方式可以取消某一种类型的注册。
from danmu import DanMuClientdmc = DanMuClient('斗鱼网页')
dmc.default(None)dmc.gift(None)
- 1
- 2
FAQ
Q: 获取的消息格式都是什么?
A: 消息为一个字典,必有三个键:NickName、Content、MsgType,对应用户名、消息内容、消息类型。
(".MathJax").remove();MathJax.Hub.Config({
"HTML-CSS": {
linebreaks: { automatic: true, width: "94%container" },
imageFont: null
},
tex2jax: {
preview: "none"
},
mml2jax: {
preview: 'none'
}
});
(function(){
var btnReadmore = (".MathJax").remove(); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true, width: "94%container" }, imageFont: null }, tex2jax: { preview: "none" }, mml2jax: { preview: 'none' } }); (function(){ var btnReadmore = ("#btn-readmore"); if(btnReadmore.length>0){ var winH = (window).height();vararticleBox= ( w i n d o w ) . h e i g h t ( ) ; v a r a r t i c l e B o x = ("div.article_content"); var artH = articleBox.height(); if(artH > winH*2){ articleBox.css({ 'height':winH*2+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } })()
python3+selenium实现自动进熊猫直播间发弹幕的脚本
学完python+selenium后突然觉得进入主播的直播间刷一波弹幕是个不错的想法(虽然这样的做法不是很好,但是完全可以证明自己的技术) 这里进入熊猫直播间的秋日房间(你们被封号了我不管) …
<div class="info-box d-flex align-content-center">
<p>
<a class="avatar" src="https://blog.csdn.net/fengzhizi76506" title="fengzhizi76506" target="_blank">
<img src="https://avatar.csdn.net/D/8/0/3_fengzhizi76506.jpg" alt="fengzhizi76506" class="avatar-pic">
<span class="name">fengzhizi76506</span>
</a>
</p>
<p>
<span class="date">2017-04-15 20:01:37</span>
</p>
<p>
<span class="read-num">阅读数:2182</span>
</p>
</div>
</div>
<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_614" data-poputype="feed" data-feed-show="false" data-dsm="post">
<h4 class="text-truncate">
<a href="https://blog.csdn.net/Sun1956/article/details/51586279" target="_blank" strategy="BlogCommendFromQuerySearch_1">
<em>Python</em>抓取熊猫TV<em>弹幕</em> </a>
</h4>
<p class="content">
<a href="https://blog.csdn.net/Sun1956/article/details/51586279" target="_blank">
描述用<em>Python</em>抓取熊猫TV<em>弹幕</em>信息。
因为弹幕信息是通过TCP发送的数据,所以用的Python的socket编程。
获取弹幕之前要先发送一定数据格式到服务器,获取验证信息,通过后才会返回弹幕数…
var width = $("div.recommend-box").outerWidth() - 48;
NEWS_FEED({
w: width,
h : 90,
showid : 'GNKXx7',
placeholderId: "ad1",
inject : 'define',
define : {
imagePosition : 'right',
imageBorderRadius : 0,
imageWidth: 120,
imageHeight: 90,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 20,
titleFontColor: '#333',
titleFontFamily : 'Microsoft Yahei',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 10,
titlePaddingLeft : 0,
displayDesc : true,
descFontSize: 14,
descFontColor: '#6b6b6b',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#ca0c16'
}
})
<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_614" data-poputype="feed" data-feed-show="false" data-dsm="post">
<h4 class="text-truncate">
<a href="https://blog.csdn.net/qq_20480611/article/details/50526394" target="_blank" strategy="BlogCommendFromQuerySearch_2">
获取斗鱼直播间的<em>弹幕</em>信息 </a>
</h4>
<p class="content">
<a href="https://blog.csdn.net/qq_20480611/article/details/50526394" target="_blank">
最近在知乎上看到这个话题,感觉很有趣,自己实验了,果然可以,特此分享:https://www.zhihu.com/question/29027665
实验准备:Wireshark、Linux…
C语言实现一个自动刷弹幕的程序
本文使用两种方式来进行刷弹幕操作
1 模拟键盘输入,自动输入文字,然后点击回车。
2 操作剪切板,直接将剪切板的文字粘贴到输入框,然后回车。模拟键盘输入如果要输入“弹幕”这两个汉字,一般来说,我们…
统一资源定位符 ’ ” 单双无区别 ”’三引号支持多行,类似pre标签
url = ‘https://api.live.bilibi…
var width = $("div.recommend-box").outerWidth() - 48;
NEWS_FEED({
w: width,
h: 90,
showid: 'Afihld',
placeholderId: 'a_d_feed_0',
inject: 'define',
define: {
imagePosition: 'right',
imageBorderRadius: 0,
imageWidth: 120,
imageHeight: 90,
imageFill: 'clip',
displayImage: true,
displayTitle: true,
titleFontSize: 20,
titleFontColor: '#333',
titleFontFamily: 'Microsoft Yahei',
titleFontWeight: 'bold',
titlePaddingTop: 0,
titlePaddingRight: 0,
titlePaddingBottom: 10,
titlePaddingLeft: 0,
displayDesc: true,
descFontSize: 14,
descFontColor: '#6b6b6b',
descFontFamily: 'Microsoft Yahei',
paddingTop: 0,
paddingRight: 0,
paddingBottom: 0,
paddingLeft: 0,
backgroundColor: '#fff',
hoverColor: '#ca0c16'
}
})
python-selenium 自动化弹幕
看着虎牙直播 主播弹窗抽奖。。。。
我如果写个自动化弹窗工具,朝夕不止的弹窗该多好啊
有想法就开始搞了
目标自动化发弹窗,边看边发。
采用selenium 基于Python 语言。
需要解决的,
第…
【爬虫】哔哩哔哩弹幕爬取
参考:我要潇潇洒洒 《如何爬取B站弹幕》http://blog.csdn.net/qq_33612918/article/details/78287436?locationNum=4 分析浏览器抓取下…
弹幕刷屏之术——Android无时间线弹幕实现
弹幕刷屏之术——Android无时间线弹幕实现标签(空格分隔): Android作者:陈小默 今天我们来实现一种普通的弹幕,这种弹幕不是用在视频上的但是稍加修改也可以增加时间线的。
使用方式1,首先…
java 实现一个桌面弹幕
本人菜鸟一枚,最近毕设要做一个桌面弹幕的功能,于是想着能不能用swing做一个。
首先,要实现弹幕,需要一块画布,我们写一个类继承自Jframe 。而且为了不遮挡桌面的其他部分,画布的背景应该是透明…
python3 [爬虫入门实战]爬取熊猫直播用户信息
爬取国内各大直播平台直播信息是以后要做的一个功课,还必须是做成一个系列的,可能远没有其他大神那么厉害,毕竟自己经历过的就是有用的,在此做个记录一下
首先我们需要爬取的内容: 这里我们要爬取的有 …
战旗直播平台弹幕登录分析
平台网址:www.zhanqi.tv
一、登录账号
验证接口 https://www.zhanqi.tv/api/auth/user.login
提交方式POST
参数说明:
使用的验证是极…
C# POST——爬取B站直播时的弹幕
打开b站,随便点进个直播,打开chrome自带的开发者工具,抓下包
妈耶…这封包还挺多的啊…慢慢的分析一会发现了这个
表面上看好像不是我们想要的,点开数据看了一下(⓿_⓿)
哎没错了…