精华内容
下载资源
问答
  • jQuery wilddog评论文字弹幕代码是一款利用野狗云实现弹幕的发送以及屏幕弹幕文字的消除代码。
  • 微信图文弹幕代码

    2016-02-24 15:00:21
    微信图文弹幕代码
  • jQuery仿哔哩哔哩视频弹幕代码, jQuery仿哔哩哔哩视频弹幕代码
  • html5新年许愿文字弹幕代码
  • jQuery仿A站视频弹幕代码是一款适用于一些视频网站弹幕文字动画代码。 jQuery仿A站视频弹幕代码截图
  • jQuery仿哔哩哔哩视频弹幕代码是一款基于Dplayer.js制作视频文字弹幕。
  • jQuery网页右下角文字评论弹幕代码是一款十分简单的文字弹幕插件,文字的颜色与背景色随机显示,还可以控制停止弹幕。
  • jQuery右下角评论发送弹幕代码是一款适合留言或者打赏短文字评论弹幕代码
  • jQuery文字评论弹幕代码基于jquery-1.11.2.min.js制作,有发射和清屏功能。
  • html5新年许愿文字弹幕代码
  • jQuery做出仿A站视频弹幕代码
  • jQuery屏幕右下角留言弹幕代码,可以自定义修改位置,默认文字弹幕配置data.js文件里面,可以自行修改。
  • 弹幕代码详解

    2017-08-07 13:18:00
    <!doctype html> <html> <head> <meta charset="utf-8">...弹幕代码详解-jq22.com</title> <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"><...
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>弹幕代码详解-jq22.com</title>
    <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
    <style>
    /*黑色屏幕父容器*/
    
    .barrage .screen {
        width: 100%;
        height: 100%;
        /*绝对定位设置 上边0px右边0px*/
        position: absolute;
        top: 0px;
        right: 0px;
    }
    
    
    /*退出符号*/
    
    .barrage .screen .s_close {
        /*图像显示的前后越小越靠后*/
        z-index: 2;
        top: 20px;
        right: 20px;
        position: absolute;
        /*默认定义标准文本*/
        text-decoration: none;
        width: 40px;
        height: 40px;
        /*定义圆角形状*/
        border-radius: 20px;
        /*文本居中对齐*/
        text-align: center;
        color: #fff;
        background: #000;
        /*设置行间的距离 //没有什么用可以删除*/
        line-height: 40px;
        /*此元素不会被显示*/
        display: none;
    }
    
    
    /*黑屏子容器*/
    
    .barrage .screen .mask {
        /*相对定位*/
        position: relative;
        width: 100%;
        height: 100%;
        background: #000;
        /*设置透明的级别*/
        opacity: 0.5;
        /*IE8以及更早的浏览器设置的不透明属性*/
        filter: alpha(opacity: 1);
        z-index: 1;
    }
    
    .barrage {
        display: none;
        width: 100%;
        height: 100%;
    }
    
    .barrage .screen .mask div {
        position: absolute;
        /*弹幕的字体的大小*/
        font-size: 20px;
        /*定义粗体字符*/
        font-weight: bold;
        /* 规定段落文本不换行*/
        white-space: nowrap;
        line-height: 40px;
        z-index: 40;
    }
    
    .barrage .send {
        z-index: 1;
        width: 100%;
        height: 6%;
        background: #000;
        position: absolute;
        /*低端0px*/
        bottom: 0px;
        /*浏览器设置左边边距*/
        margin-left: auto;
        /*浏览器设置右边边距*/
        margin-right: auto;
        /*把文本排列到中间*/
        text-align: center;
    }
    
    .barrage .send .s_text {
        width: 79%;
        height: 90%;
        line-height: 10px;
        font-size: 20px;
        /*上下边距为零*/
        margin: 0 auto;
        /*字体样式*/
        font-family: "微软黑体";
    }
    
    .barrage .send .s_btn {
        margin: 0 auto;
        width: 18%;
        height: 90%;
        background: #22B14c;
        color: #fff;
    }
    </style>
    </head>
    <body>
        <a href="javascript:void(0)" class="showBarrage">打开弹幕</a>
        <div class="barrage">
            <div class="screen">
                <a href="#" class="s_close">X</a>
                <div class="mask">
                    <!-- 内容在这里显示 -->
                </div>
            </div>
            <!-- Send Begin -->
            <div class="send">
                <input type="text" class="s_text">
                <input type="button" class="s_btn" value="说两句">
            </div>
            <!-- Send End -->
            <span class="s_close">X</span>
        </div>
    
    <script>
    /*点击打开弹幕跳出弹幕页*/
    $(function() {
        $(".showBarrage,.s_close").click(function() {
            /*toggle切换元素可见状态*/
            $(".barrage,.s_close").toggle("slow");
        });
        /*init_animated();不知道有什么效果*/
        init_animated();
    })
    //提交评论
    $(".send .s_btn").click(function() {
        /*用val()获取 .s_text 里面的值再赋给text*/
        var text = $(".s_text").val();
        /*如果值赋给了text则给函数返回值,不在靠下执行*/
        if (text == "") {
            return;
        };
        /*样式:右边是20像素 上边0像素 透明度值为1 getRandomColor()是随机生成颜色赋予text*/
        var _lable = $("<div style='right:20px;top:0px;opacity:1;color:" + getRandomColor() + ";'>" + text + "</div>");
        /*append给.mask后面添加lable.隐藏元素 .show()显示被隐藏的元素*/
        $(".mask").append(_lable.show());
        //执行init_barrage();动作
        init_barrage();
    })
    //初始化弹幕技术
    function init_barrage() {
        /*声明变量_top为0*/
        var _top = 0;
        /*弹幕遍历不隐藏 .each遍历*/
        $(".mask div").show().each(function() {
            /*$(window).width()获取当前窗口的宽度(不包含滚动条)减去字体的宽*/
            //浏览器最大宽度,作为定位left的值
            var _left = $(window).width() - $(this).width();
            //浏览器最大高度
            var _height = $(window).height();
            /*_top = 75+_top 弹幕之间每次加75的距离*/
            _top += 75;
            /*如果(_top 大于等于 (_height -130))*/
            if (_top >= (_height - 130)) {
                /*则0赋予_top*/
                _top = 0;
            }
            /*将css中left、top、color转换为jquery对象*/
            $(this).css({
                left: _left,
                top: _top,
                color: getRandomColor()
            });
            //定时弹出文字
            var time = 10000;
            /*idnex()方法返回指定元素相对于其他指定元素的index位置 index()除以2余数为0*/
            if ($(this).index() % 2 == 0) {
                /*则时间为15000*/
                time = 15000;
            }
            /*animate()方法执行css属性集的自定义动画。*/
            $(this).animate({
                left: "-" + _left + "px"
            },
            time,
            function() {
                /*remove()方法移除被选元素,包括所有的文本和子节点*/
                $(this).remove();
            });
        });
    }
    //获取随机颜色
    function getRandomColor() {
        return '#' + (function(h) {
            return new Array(7 - h.length).join("0") + h
        })((Math.random() * 0x1000000 << 0).toString(16))
    }</script>
    </body>
    </html>

     

    转载于:https://www.cnblogs.com/phpfensi/p/7298645.html

    展开全文
  • iOS 弹幕代码

    2015-10-30 14:31:05
    iOS 开发的,支持悬浮的弹幕 ,支持向左右,上下的方向可以设置弹幕的字体大小,颜色,速度等。
  • android端实现,简单的弹幕功能;可以自定义弹幕的样式和使用逻辑
  • jQuery网页右下角文字评论弹幕代码</title> <meta charset="utf-8"> <meta id="scale" content="initial-scale=1, maximum-scale=1, user-scalable=0" name="viewport"> [removed][removed] ...
  • java桌面弹幕代码

    2018-01-27 23:14:48
    java实现桌面弹幕,原理很简单,只有一个类就不发工程了。使用时要往你的工程导入rt.jar包。这个包不需要下载,在你的jdk/ lib目录下就有。直接copy到你的工程导入就行。
  • 这是根据刚入b站的大佬@小段不二的av83610261写的,算是交作业了用到的软件:Chrome Python+pycharm (vs code或者其他ide都可以不过pycharm实在是太香了)展示成果 62播放的水视频有了1600+弹幕第一步抓取post(这里就...

    这是根据刚入b站的大佬@小段不二 的av83610261写的,算是交作业了

    用到的软件:Chrome Python+pycharm (vs code或者其他ide都可以不过pycharm实在是太香了)

    展示成果 62播放的水视频有了1600+弹幕

    第一步抓取post(这里就拿大佬视频做实验,视频由于发弹幕必须账号登录所以不在研究不登录账户的情况)

    老办法chrome打开一个视频播放一段时间然后按f12 network preseve log可以不用勾选()防止刷新掉图2

    然后随意发一个弹幕(务必遵守弹幕礼仪),然后一个无比明显的post请求点开它图3

    图4

    忽略爆头直接看发送的内容,很明显msg是发送的弹幕内容,aid是视频av号,color跟fpngtsise是弹幕属性,至于其他的progress应该是进度,我们用控制变量法验证下,再发一条不同时间,不同属性的弹幕分别试验下:在58秒处按原格式弹幕的发送值

    在58秒发送的同类型弹幕中只有progress变化,根据数值含义推断出这个值为发送的毫秒数

    顶部弹幕

    顶部弹幕只有mode改变成了5,说明这个是弹幕类型

    至于后面的大家可以自己去试,不过有两个定值type跟csrf,我猜测第一个是客户端类型(区分手机跟网页端)第二个是本地的随机值,我在之后去掉后发送仍能成功

    确定数据值含义后就开始python实现了

    post在请求右键->copy->copy to cULR然后粘贴到https://curl.trillworks.com/#网站上每一个程序员的必备技能ctry c & ctry v

    把生成的py代码复制,稍加修改并打印返回值ctry v yes

    进行测试,返回值无错误,刷新后弹幕也出现了返回结果

    弹幕

    并且弹幕出现时间正确 (124983ms≈124s=2m04s)

    到此结束,不过频繁的发送会返回错误,另外本文是用于学习交流,请各位遵守弹幕礼仪,不要用来做一些奇怪的事情,本人测试用的弹幕已尽可能的撤回(有两条超过两分钟了无法撤回实在是抱歉),最后再次感谢@

    展开全文
  • 最近有部很火的悬疑推理剧:《隐秘的角落》,豆瓣评分9.0,周末闲来无事,在追剧的同时爬取了下该剧第一集的弹幕,我们通过对弹幕进行分析,制作词云,来看看观众们对该剧的评价如何。整篇文章分为两部分:1.爬取...

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    最近有部很火的悬疑推理剧:《隐秘的角落》,豆瓣评分9.0,周末闲来无事,在追剧的同时爬取了下该剧第一集的弹幕,我们通过对弹幕进行分析,制作词云,来看看观众们对该剧的评价如何。

    整篇文章分为两部分:1.爬取爱奇艺中该剧第一集的弹幕 2.对爬取出来的弹幕做处理,并制作词云。

    1.爬取爱奇艺弹幕

    相比于其他视频网站来说,爱奇艺的弹幕难爬一些,为啥呢,因为你爬取出来的文件是乱码的(下边会贴图),需要自己再把该文件二进制编码之后才能用。具体步骤如下:

    首先,打开浏览器,进入爱奇艺页面,点开该剧,弹幕打开,然后F12,浏览器下方或者右侧会弹出一些界面,选择Network,在我图上标注的框中输入“bullet”搜索弹幕相关的文件,为啥输入这个搜索呢,因为这个单词的意思就是弹幕,程序员命名东西一般也是有规律的,还有大多视频网站的弹幕相关文件都是这个名字哈哈。如果你F12搜索之后无内容,那直接点击下浏览器刷新按钮即可。下图中箭头指的分别是Network、搜索框、弹幕文件名和弹幕内容(你可以看到,弹幕内容是乱七八糟的乱码)。还有说明一点,弹幕文件一集不止一个,爱奇艺5分钟加载一个弹幕文件(为啥5分钟,下边会解释)。

    接下来,观察弹幕文件出现的规律以及弹幕文件地址中的规律,总结为以下:

    https://www.cnblogs.com/java-a/p/13269346.html

    弹幕文件链接规律为https://cmts.iqiyi.com/bullet/tvid倒数4位的前两位/tvid最后两位/tvid_300_x.z;

    x的计算方式为片子总时长除以300秒向上取整,即按每5分钟一个包。

    tvid是啥呢,就是你URL导航栏里的这块,x为啥按5分钟一个包呢,是因为我F12之后查看两个相邻的弹幕文件包,它就是5分钟加载一个。

    那第一集总共时长77分钟,按5分钟加载一个弹幕文件的话,向上取整,我们总共要抓取16个(77/5+1)弹幕文件。

    抓取代码为:

    import zlib

    import requests

    for x in range(16):

    x+=1

    #x是从1到16,16怎么来的,第一集总共77分钟,爱奇艺每5分钟会加载新的弹幕

    #77除以5向上取整

    url='https://cmts.iqiyi.com/bullet/92/00/9000000005439200_300_'+str(x)+'.z'

    bulletold=requests.get(url).content #这步取出来的文件是乱码的

    bulletnew = bytearray(bulletold)#将上一步的乱码文件用二进制再编码下

    xml=zlib.decompress(bulletnew, 15+32).decode('utf-8')

    #把编码好的文件分别写入16个xml文件中(类似于txt文件),方便后边取数据

    with open('./iqiyi'+str(x)+'.xml','a+',encoding='utf-8') as f:

    f.write(xml)

    f.close()

    抓取出来的xml文件为下图,能看出来content字段就是弹幕:

    将xml文件中的content字段取出来存为dan_mu.txt文件,方便我们之后做词云:

    from xml.dom.minidom import parse

    import xml.dom.minidom

    for x in range(16):

    x+=1

    DOMTree = xml.dom.minidom.parse(r"C:\Users\dmj\PycharmProjects\test\iqiyi"+str(x)+".xml")

    collection = DOMTree.documentElement

    # 在集合中获取所有entry数据

    entrys = collection.getElementsByTagName("entry")

    print(entrys)

    for entry in entrys:

    content = entry.getElementsByTagName('content')[0]

    print(content.childNodes[0].data)

    i = content.childNodes[0].data

    with open("dan_mu.txt", mode="a+", encoding="utf-8") as f:

    f.write(i)

    f.write("\n")

    dan_mu.txt文件大概长这样:

    2.制作词云

    制作词云使用python的wordcloud库和jieba库,代码如下:

    from wordcloud import WordCloud

    import jieba

    import matplotlib.pyplot as plt

    #读取弹幕txt文件

    with open('./dan_mu.txt',encoding = 'utf-8', mode = 'r')as f:

    myText = f.read()

    myText = " ".join(jieba.cut(myText))

    list = myText.split(" ")

    #清洗无用数据

    for i in range(len(list)-1,-1,-1):

    if len(list[i])==1 or list[i]=="这个" or \

    list[i]=="不是" or list[i]=="这么" \

    or list[i]=="怎么" or list[i]=="这是"\

    or list[i]=="还是":

    list.remove(list[i])

    #print(list)

    myText= " ".join(list)

    print(myText)

    # 制作词云

    wordcloud = WordCloud(background_color="white", font_path="simsun.ttf", height=300, width = 400).generate(myText)

    # 图片展示

    plt.imshow(wordcloud)

    plt.axis("off")

    plt.show()

    # 将词云图片导出到当前文件夹

    wordcloud.to_file("wordCloudMo.png")

    在此处可能会遇到的问题是,wordcloud这个外部库你在下载的时候可能会遇到各种花式报错,如何解决呢,参见下边这位老哥的方法:

    https://blog.csdn.net/qq_42813128/article/details/82020510

    词云图结果如下:

    从词云图中我们可以看到,“真实”,“孩子”,“严良”,“普普”,“演技”等词语出现的频率很高。“真实”,“演技”,“厉害”等词语是大家对这部剧的肯定;“孩子”指的是这三个主演的小孩;“普普”的演技真的很不错,大家都猜测她会不会成为下一个张子枫。

    展开全文
  • -0-受brave or 皮卡丘的启发,想试试采集b站的弹幕,因为以前采集过b站的700万基础数据,所以这次觉得应该也很简单然而。先说逻辑:找到b站弹幕调用方式->找出调用文件或者数据接口->采集数据入库。第一步耗费...

    -0-受brave or 皮卡丘的启发,想试试采集b站的弹幕,因为以前采集过b站的700万基础数据,所以这次觉得应该也很简单

    然而。

    先说逻辑:找到b站弹幕调用方式->找出调用文件或者数据接口->采集数据入库。

    第一步耗费的时间最多,因为我翻了好多名字里带av号的包,都没找到有弹幕内容的,幸亏 brave or 皮卡丘 提醒,我才发现b站竟然给字幕文件的命名不是按照av号来了。。然后通过network,就知道弹幕文件的地址应该是http://comment.bilibili.com/+和av号有关联的数字+.xml既然知道有这个猫腻,那下一步就需要找到av号和弹幕文件名之间的关联了。幸好,在视频的源代码里,有这个说明

    可以看到,红框部分一个是cid也就是弹幕文件的名字,一个是aid,也就是av号的名字。

    这样,我们就可以知道弹幕文件地址是在http://comment.bilibili.com/16952307.xml里了。

    这步一解决,后面就简单了。整个逻辑就变成

    1.生成url

    2.采集url代码

    3.匹配到cid和aid

    4.根据cid生成弹幕文件的url

    5.匹配弹幕文件中的汉字

    6.将aid和弹幕汉字入库。

    下面贴代码:for循环的tab需要自己填上,也是为了引导大家更深入了解代码的结构和逻辑

    import sys

    reload(sys)

    sys.setdefaultencoding( "utf-8" )

    import urllib2,re,requests

    danmu = open('danmu.txt','a')

    for url in open('url.txt'):

    #html = urllib2.urlopen('http://www.bilibili.com/video/av10262216/').read()

    html = requests.get(url).text

    #zhen.write(html +'\n')

    #print html

    for cid,aid in re.findall(r'cid=(\d+)&aid=(\d+)',html):

    # print cid,aid

    danmuurl='http://comment.bilibili.com/'+cid+'.xml'

    danmuhtml = requests.get(danmuurl).text

    # print danmuhtml

    for danmuwenzi in re.findall(r'">(.*?)',danmuhtml):

    danmu.write(aid+','+danmuwenzi+'\n')

    分享到:

    展开全文
  • 斗鱼自动发弹幕代码

    千次阅读 2019-10-06 14:32:03
    4.复制下方代码黏贴至Console下,回车就会自动输弹幕; 友情提醒:若想终止请在console下输入stop()--或--按f5; 代码如下: const area = document.getElementsByClassName('ChatSend-txt')[0]const btn = doc...
  • JS弹幕代码分析

    2017-03-15 15:19:44
    现在许多直播软件和视频都有弹幕功能,让我们来看看并分析是怎么实现的。 这边我主要分析下js的代码,想看源码的朋友送上链接,http://sandbox.xinfan.org/xdd... HTML代码如下(css代码就不展示了,想看的直接看...
  • 弹幕代码学习资源

    2020-05-24 00:00:21
    http://blog.csdn.net/sinyu890807/article/details/51933728
  • 代码片段:    <div id="player1"></div>       ... 人正在观看,<span class="danmuku_num">100条弹幕      时间  发送内容  用户类型         </div>
  • 电影弹幕 我们使用Flask结合Redis消息队列实现电影弹幕. 弹幕模块相关点 模型 Movie 表单 无 请求方法 GET POST 访问控制 无 消息队列 Redis Flask第三方扩展 Flask-Redis 弹幕播放器插件 dplayer.js(开源)...
  • 代码片段: [removed][removed] [removed][removed] [removed][removed]
  • 今天给大家介绍一个获取B站数据的Python扩展库-bilibili_api,可以获取的数据包括:video-视频模块user-用户模块dynamic-动态模块这次用“Running Man”十周年特辑的视频,来做个获取弹幕的Demo。如果你也爱看“RM”...
  • 代码片段: 大号 中号 小号 </div>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,379
精华内容 551
关键字:

弹幕代码