爬蟲分析:通過彈幕查找發(fā)送者

因為方法很簡單,早就有前輩開發(fā)了工具,我在這里說明一下原理(因為歷史原因,資料難找)

方法一:手動查找
第一步:獲取視頻cid (直接在源代碼里搜索 < cid": >,即可)

第二步:獲取彈幕 (有兩種鏈接,獲取的內(nèi)容一樣)
(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">帥氣的曲風(fēng)?。。?!</d>
p標簽里內(nèi)容,介紹
1.29800, 為彈幕播放起始時間 (在視頻中出現(xiàn)的時間,單位是秒)
第二個參數(shù)是彈幕的模式1..3 滾動彈幕 4底端彈幕 5頂端彈幕 6.逆向彈幕 7精準定位 8高級彈幕
第三個參數(shù)是字號, 12非常小,16特小,18小,25中,36大,45很大,64特別大
第四個參數(shù)是字體的顏色以HTML顏色的十進制為準
第五個參數(shù)是Unix格式的時間戳?;鶞蕰r間為 1970-1-1 08:00:00
第六個參數(shù)是彈幕池 0普通池 1字幕池 2特殊池【目前特殊池為高級彈幕專用】
第七個參數(shù)是發(fā)送者的ID,用于“屏蔽此彈幕的發(fā)送者”功能
第八個參數(shù)是彈幕在彈幕數(shù)據(jù)庫中rowID 用于“歷史彈幕”功能。
比較有用的是 參數(shù)五和七

Unix格式時間戳計算:http://tool.chinaz.com/Tools/unixtime.aspx
參數(shù)為:1535026933

這是半個小時前,測試的 ,這半個小時主要在分析 參數(shù)七的用戶ID到底是個什么鬼
其用戶 Hash 相當簡單,只是簡單的把數(shù)字 ID 用 ITU I.363.5 算法進行了 Hash,Spec 在這里 ,甚至在 PHP 中直接被封裝現(xiàn)成了函數(shù)。(參考自:http://www.360doc.com/content/16/1030/15/7863900_602548083.shtml)

知道用戶ID是什么東西之后,就簡單了
上面的參考鏈接中,介紹了方法
公式:(http://biliquery.typcn.com/api/user/hash/)+(用戶ID[參數(shù)7])
即:http://biliquery.typcn.com/api/user/hash/40e132dc
獲取結(jié)果為:{"error":0,"data":[{"id":30847042}]}
其中 "id":30847042 ,就是本人的 uid 了
https://space.bilibili.com/ + uid ,就打開用戶空間了

方法二:使用Bilibili 工具箱
打開:https://biliquery.typcn.com/
按照提示,操作即可

這個非常適合 爬蟲 練習(xí),歡迎讀者日后將自己的爬蟲程序貼在評論區(qū),秀一下
以上