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

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

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

第二步:获取弹幕 (有两种链接,获取的内容一样)
(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/
按照提示,操作即可

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