欢迎光临散文网 会员登陆 & 注册

爬虫分析:通过弹幕查找发送者

2018-08-23 21:08 作者:小熊FFD  | 我要投稿

因为方法很简单,早就有前辈开发了工具,我在这里说明一下原理(因为历史原因,资料难找)

方法一:手动查找

第一步:获取视频cid (直接在源代码里搜索 < cid": >,即可)

cid为 52175602

第二步:获取弹幕 (有两种链接,获取的内容一样)

http://comment.bilibili.com/)+ (cid)+(.xml)

即: http://comment.bilibili.com/52175602.xml

或者

(https://api.bilibili.com/x/v1/dm/list.so?oid=)+ (cid)

即:https://api.bilibili.com/x/v1/dm/list.so?oid=52175602

弹幕文件

第三步:分析弹幕

我自己做了测试,就用我那行弹幕分析吧

<d p="1.29800,1,25,16777215,1535026933,0,40e132dc,4133884241903620">帅气的曲风!!!!</d>

p标签里内容,介绍

1.29800, 为弹幕播放起始时间 (在视频中出现的时间,单位是秒)

第二个参数是弹幕的模式1..3 滚动弹幕 4底端弹幕 5顶端弹幕 6.逆向弹幕 7精准定位 8高级弹幕 

第三个参数是字号, 12非常小,16特小,18小,25中,36大,45很大,64特别大 
第四个参数是字体的颜色以HTML颜色的十进制为准 
第五个参数是Unix格式的时间戳。基准时间为 1970-1-1 08:00:00 
第六个参数是弹幕池 0普通池 1字幕池 2特殊池【目前特殊池为高级弹幕专用】 
第七个参数是发送者的ID,用于“屏蔽此弹幕的发送者”功能 
第八个参数是弹幕在弹幕数据库中rowID 用于“历史弹幕”功能。

比较有用的是 参数五和七

Unix式时间戳计算:http://tool.chinaz.com/Tools/unixtime.aspx

参数为:1535026933

这样就可以知道弹幕的发送时间啦

这是半个小时前,测试的 ,这半个小时主要在分析 参数七的用户ID到底是个什么鬼

其用户 Hash 相当简单,只是简单的把数字 ID 用 ITU I.363.5 算法进行了 Hash,Spec 在这里 ,甚至在 PHP 中直接被封装现成了函数。(参考自:http://www.360doc.com/content/16/1030/15/7863900_602548083.shtml)

知道用户ID是什么东西之后,就简单了

上面的参考链接中,介绍了方法

公式:(http://biliquery.typcn.com/api/user/hash/)+(用户ID[参数7])

即:http://biliquery.typcn.com/api/user/hash/40e132dc 

获取结果为:{"error":0,"data":[{"id":30847042}]}

其中 "id":30847042 ,就是本人的 uid 了

https://space.bilibili.com/ + uid ,就打开用户空间了

方法二:使用Bilibili 工具箱

打开:https://biliquery.typcn.com/

按照提示,操作即可


这个非常适合 爬虫 练习,欢迎读者日后将自己的爬虫程序贴在评论区,秀一下


以上



爬虫分析:通过弹幕查找发送者的评论 (共 条)

分享到微博请遵守国家法律