每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!




每个大主播都是满屏弹幕,怎么做到的?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

每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!_第1张图片

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,对应用户名、消息内容、消息类型。

每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!_第2张图片

文章标签: Python 编程 程序员 职业
(".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(); } } })()
scrolling="no" allowfullscreen="true" width="100%" height="162px" src="https://edu.csdn.net/sp/blog.php?type=web1">
var edu_ad_is_big_data = 0; var edu_ad_id_mapping = {"0":["https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1"],"1":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=web1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"8":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"2":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1"],"3":["https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"6":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"12":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"14":["https:\/\/edu.csdn.net\/sp\/blog.php?type=web1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcweb"],"15":["https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcjg"],"16":["https:\/\/edu.csdn.net\/sp\/blog.php?type=web1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1"],"28":["https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcai"],"29":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1"],"30":["https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1"],"32":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcaq"],"33":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gccxrs"],"35":["https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"37":["https:\/\/edu.csdn.net\/sp\/blog.php?type=web1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1"],"7":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=web1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"17":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1"],"34":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcbt"],"36":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=ai1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"31":["https:\/\/edu.csdn.net\/sp\/blog.php?type=python1","https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"19":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"],"20":["https:\/\/edu.csdn.net\/sp\/blog.php?type=bigdata1","https:\/\/edu.csdn.net\/sp\/blog.php?type=gcit"]};
发表评论
还能输入1000个字符

python3+selenium实现自动进熊猫直播间发弹幕的脚本

学完python+selenium后突然觉得进入主播的直播间刷一波弹幕是个不错的想法(虽然这样的做法不是很好,但是完全可以证明自己的技术) 这里进入熊猫直播间的秋日房间(你们被封号了我不管) …

    

fengzhizi76506 fengzhizi76506

2017-04-15 20:01:37

阅读数:2182





https://s3m.mediav.com/galileo/bac8429f9127e160f845c9bb5040ff62.jpg)”>


新政策:50岁以上中老年福利:参加口福计划!免费种牙!免费!
北京京一口腔 · 顶新






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'
}
})
            

实验准备:Wireshark、Linux…





qq_20480611
qq_20480611



2016-01-15 23:50:30



阅读数:4788







OBS完美直播弹幕效果主播教程




进入正题之前,先回答2个问题:
您是斗鱼,熊猫,全民,板栗主播?
您用OBS,Xsplit直播?
如果上面的关键字,你都不熟悉,说明这个教程可能不适合您。为什么要继续往下看?先看直播弹幕效果下面是直播…





cpuwolf
cpuwolf



2017-05-17 15:24:15



阅读数:17072







C语言实现一个自动刷弹幕的程序




本文使用两种方式来进行刷弹幕操作
1 模拟键盘输入,自动输入文字,然后点击回车。
2 操作剪切板,直接将剪切板的文字粘贴到输入框,然后回车。模拟键盘输入如果要输入“弹幕”这两个汉字,一般来说,我们…





hackergin
hackergin



2017-06-18 15:45:37



阅读数:1620







python爬bilibili弹幕




import requests
import time

统一资源定位符 ’ ” 单双无区别 ”’三引号支持多行,类似pre标签

url = ‘https://api.live.bilibi…





quedgee
quedgee



2018-01-06 18:34:35



阅读数:134







https://s3m.mediav.com/galileo/547901-4152203b7e7e55359cb405bb106ff182.jpg)”>


耳鸣怎么处理好得比较快 点击查看方法……
素显 · 顶新






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'
}
})





触手tv弹幕关注刷取源码



2018年02月10日
363KB
下载












本地播放器播放弹幕时,文字透明的解决方法




以ass后缀的弹幕文件为例,notepad++打开这个文件,找到[V4+ Styles],在Format行末尾加上属性AlphaLevel(如果已经有了就不用加),该属性表示透明度,范围0-255,0…





cblstc
cblstc



2017-07-04 10:50:17



阅读数:294







python-selenium  自动化弹幕




看着虎牙直播 主播弹窗抽奖。。。。
我如果写个自动化弹窗工具,朝夕不止的弹窗该多好啊
有想法就开始搞了
目标自动化发弹窗,边看边发。
采用selenium  基于Python 语言。
需要解决的,
第…





u014510302
u014510302



2016-10-09 15:22:00



阅读数:2029








ios弹幕效果



2016年03月23日
33KB
下载












斗鱼弹幕助手授权验证相关




基本参数
DYDMAMRVDYDMAMRV
DYDMAUECIDYDMAUECI
限时授权
DYDMATLCARIDYDMATL…





oLeonScottKennedy1
oLeonScottKennedy1



2017-04-30 20:58:38



阅读数:278







抓取熊猫TV弹幕




前天看到了别人写的抓取斗鱼弹幕的程序,抓取斗鱼弹幕是我很早以前的一个想法,但是无奈不会写,不懂得tcp传过来的那些字节的含义,所以没写出来,当我看到别人写好的代码,我就参照人家的博客自己实现了一遍,今…





gaopu12345
gaopu12345



2016-01-29 23:46:21



阅读数:10819







【爬虫】哔哩哔哩弹幕爬取




参考:我要潇潇洒洒 《如何爬取B站弹幕》http://blog.csdn.net/qq_33612918/article/details/78287436?locationNum=4 分析浏览器抓取下…





weixin_41185456
weixin_41185456



2018-03-18 16:17:22



阅读数:880







视频直播应用,且配有弹幕显示,内容均从斗鱼抓取




视频直播应用,且配有弹幕显示,内容均从斗鱼抓取





u014608640
u014608640



2016-11-08 11:27:28



阅读数:1816







熊猫TV 弹幕助手 (开源 、 Java)




熊猫TV 弹幕助手 (开源 Java)
PandaTV 弹幕助手





Neutree
Neutree



2016-02-28 22:37:52



阅读数:2188







弹幕刷屏之术——Android无时间线弹幕实现




弹幕刷屏之术——Android无时间线弹幕实现标签(空格分隔): Android作者:陈小默 今天我们来实现一种普通的弹幕,这种弹幕不是用在视频上的但是稍加修改也可以增加时间线的。
使用方式1,首先…





qq_32583189
qq_32583189



2017-05-17 19:57:48



阅读数:592







java 实现一个桌面弹幕




本人菜鸟一枚,最近毕设要做一个桌面弹幕的功能,于是想着能不能用swing做一个。
首先,要实现弹幕,需要一块画布,我们写一个类继承自Jframe 。而且为了不遮挡桌面的其他部分,画布的背景应该是透明…





qq_23321609
qq_23321609



2018-01-29 16:49:34



阅读数:122







python3 [爬虫入门实战]爬取熊猫直播用户信息




爬取国内各大直播平台直播信息是以后要做的一个功课,还必须是做成一个系列的,可能远没有其他大神那么厉害,毕竟自己经历过的就是有用的,在此做个记录一下
首先我们需要爬取的内容: 这里我们要爬取的有 …





xudailong_blog
xudailong_blog



2017-08-06 10:07:00



阅读数:1546







战旗直播平台弹幕登录分析




平台网址:www.zhanqi.tv 
一、登录账号
  验证接口 https://www.zhanqi.tv/api/auth/user.login
提交方式POST
参数说明:

使用的验证是极…





yoie01
yoie01



2017-05-09 14:17:36



阅读数:1483







C# POST——爬取B站直播时的弹幕




打开b站,随便点进个直播,打开chrome自带的开发者工具,抓下包

妈耶…这封包还挺多的啊…慢慢的分析一会发现了这个

表面上看好像不是我们想要的,点开数据看了一下(⓿_⓿)

哎没错了…





qq_15505341
qq_15505341



2018-01-30 23:25:35



阅读数:320








没有更多推荐了,返回首页




你可能感兴趣的:(Python,编程,程序员,职业)