十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先是bilibili的播放器。bilibili的播放器主要有两个,一个内站播放器
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、芜湖网络推广、微信小程序、芜湖网络营销、芜湖企业策划、芜湖品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供芜湖建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
{cid}aid={aid}另一个是外站播放器{aid}pid={pid}其中aid就是article id的意思,或者说就是视频的av号;而pid是page id的意思,也就是说视频的第几个分页;而cid是chat id的意思,每个chat id对应一组弹幕池和。然后我们先说第一个内站的播放器。播放器要播放视频显然要先找到视频的内容的地址,这是我们最为关心的。无论你是靠反编译还是截取网络数据包,都可以看到这个播放器访问了{cid}以获取视频内容的地址,然后加载这些视频并播放。我们再看后面那个外站播放器。参数里面没有cid,那他是怎么加载视频内容的地址的呢?如果你再用同样的方法进行分析,你会发现他实际上还是访问了上面说到的那个地址。那他是怎么获取cid的呢?他获取cid是通过;id={aid}......的一个链接获取到的。所以到现在我们基本可以明白bilibili视频的播放,主要依赖于cid和上面提到的那个playurl的链接。----然后我们要讨论的问题是关于手机客户端的了。众所周知地,那些其他视频网站的播放器折腾半天也只是在网页上,而手机客户端上看来这些视频和其他的别无两样。而分析数据包可以轻松地知道手机客户端访问的还是上面提到的那个playurl的链接。最后我们回到问题本身。----所以问题就简化为了,只要找到最上面提到的内站播放器需要的cid,那么就可以用那个播放器播放视频了。于是问题变成了如何查找cid。之前我们说过了,cid被用来表示某个视频对应那组弹幕池。所以只要有弹幕的视频就肯定有一个cid。事实上,那些其他视频网站的播放器的视频也需要一个cid才能加载弹幕。所以我们可以轻松地从给flash的参数里面找到cid。当然,除了这个方法外,还有其他很多方法,比如:通过api获取:请参考通过下载弹幕页面的链接获取:{aid}.html(下载弹幕页面已死)通过iOS用网页端接口获取:{aid}page={pid} (挂掉过一段时间,现在又恢复了)当然,还有一些脚本是访问了脚本作者搭建的服务器以获取cid。只有你可以放心该脚本的行为时使用这样的脚本。然后只要把flash换成上面说的那个内站播放器的就好了。---但是有些视频是不能替换的,这些视频一般都是因为在playurl那一步无法获取视频的内容所导致的。所以这导致的结果就是,一般来说,某站点的视频都是转天转投新浪后才可以看的,不过最近似乎转投视频源从sina变成local了,别问我为什么。---最后是一些替换之后的善后工作。在加载脚本时,会根据当前是不是原生播放器而做一些事情,所以替换后需要再手工执行相应的函数。
1.使用账号密码模拟post (由于使用账号密码登录要滑块验证直接忽略)2.扫码登录 3.使用cookie直接登录。
目前运行在手机端的应用(APP)主要有三个平台,安卓,iOS,WP。安卓应用前端是基于java的,当然要会java语言,前端也就是你在使用一款APP的时候能够看见的部分,但是大部分数据的处理是通过服务端进行的,这就又要学习一些服务端的语言,php,jsp等。iOS应用前端是基于object-C的,所以要会OC这个语言,去年新发布的语言swift也可以进行iOS应用前端的开发,后台语言与安卓类似。WP应用前端是C#开发的。还有一个就是基于web开发的手机APP前端,就是html+css+js,这三种语言。可以在任何系统上运行。
Java语言:这是在Android平台开发APP应用程序做IAP、广告以及特使系统功能时所需要到的开发语言。一般开发安卓APP应用软件主要使用的编程语言也是Java,如果在开发过程中需要切换语言,可以通过JNI来完成。
Objective-C:这是适用于IOS智能操作系统的APP开发语言,是苹果APP的主流编程语言。所以如果是要开发IOS APP软件,那么这是必选编程语言。
C++语言:这是一款最适合做跨平台APP的开发语言,同时C++也是微软的WindowsPhone系列智能手机主要APP应用程序的开发语言。
Scripting:这个包括有程序化脚本和其他的脚本语言,所有的开发者都需要时不时的写脚本,这十分方便于一些不熟悉语法的APP软件新手开发者的一个工作,对于他们来说也是非常有必要的一项工作。
首先要爬取视频信息以及弹幕,以下是用到的b站api接口:
1)(这里的BVID就是具体视频的bv号)
可得到视频的弹幕数,评论数、收藏数、投币数,点赞数和转发数。
例:
2)(CID就是具体视频的cid)
可得到视频弹幕(不过获取不到全部弹幕,并且每个视频获取的弹幕数不同)
例:
p字符串代表八个参数:
①弹幕在视频中出现时间(单位:秒)
②弹幕模式(1-3滚动,4底部,5顶部,6逆向,7精准,8高级)
③字号 ④弹幕颜色 ⑤Unix时间戳
⑥弹幕池(0普通,1字幕,2特殊) ⑦发送者标识
⑧用于历史弹幕
cid获取方法:①通过第一个接口可获取
②打开视频——点击播放——检查
对爬取到的数据进行一番分析,开播时观看数最高,第二期观看数下降幅度较大,很多节目都有这样的问题。第二期之后会谈停播了一段时间,中间插播卧谈,复播后观看数也有所影响但趋于稳定。
开播时热度是最高的,之后有了下降趋势。但在第六期有了反弹趋势,尤其是投币数,第六期有杨迪妈妈代班、b站UP主以及两位代表的妈妈来到现场,主要为亲子主题。
第一期爬取到12000条弹幕,不包含全部。以下仅在爬取到的弹幕中分析。
第一期发弹幕最多的用户达到了104条,相当于视频每播放不到一分钟就发了一条。
按每4.6分钟为区间进行统计,在第一期(下)开头互动最为频繁。
第一期弹幕词云(ps:这是大家的快乐源泉吗hahaha)
附上各期弹幕词云: