作者:chenjiandongx
B 站我想大家都熟悉吧,其實(shí) B 站的爬蟲(chóng)網(wǎng)上一搜一大堆。不過(guò)?紙上得來(lái)終覺(jué)淺,絕知此事要躬行,我碼故我在。最終爬取到數(shù)據(jù)總量為?760萬(wàn)?條。
準(zhǔn)備工作
首先打開(kāi) B 站,隨便在首頁(yè)找一個(gè)視頻點(diǎn)擊進(jìn)去。常規(guī)操作,打開(kāi)開(kāi)發(fā)者工具。這次是目標(biāo)是通過(guò)爬取 B 站提供的 api 來(lái)獲取視頻信息,不去解析網(wǎng)頁(yè),解析網(wǎng)頁(yè)的速度太慢了而且容易被封 ip。
勾選 JS 選項(xiàng),F(xiàn)5 刷新
找到了 api 的地址
復(fù)制下來(lái),去除沒(méi)必要的內(nèi)容,得到?https://api.bilibili.com/x/web-interface/archive/stat?aid=15906633?,用瀏覽器打開(kāi),會(huì)得到如下的 json 數(shù)據(jù)
動(dòng)手寫(xiě)碼
好了,到這里代碼就可以碼起來(lái)了,通過(guò) request 不斷的迭代獲取數(shù)據(jù),為了讓爬蟲(chóng)更高效,可以利用多線程。
核心代碼
result = []req = requests.get(url, headers=headers, timeout=6).json()time.sleep(0.6) # 延遲,避免太快 ip 被封try: data = req['data'] video = Video( data['aid'], # 視頻編號(hào) data['view'], # 播放量 data['danmaku'], # 彈幕數(shù) data['reply'], # 評(píng)論數(shù) data['favorite'], # 收藏?cái)?shù) data['coin'], # 硬幣數(shù) data['share'] # 分享數(shù) ) with lock: result.append(video)except: pass
迭代爬取
urls = ["http://api.bilibili.com/archive_stat/stat?aid={}".format(i) for i in range(10000)] with futures.ThreadPoolExecutor(32) as executor: # 多線程 executor.map(run, urls)
不要一次性爬取全部鏈接,我是利用兩個(gè)進(jìn)程,這樣就是多進(jìn)程+多線程了。一個(gè)進(jìn)程一次大概爬取 50w 條數(shù)據(jù)。100w 條數(shù)據(jù)的話(huà)大概一個(gè)多小時(shí)吧。分多次爬取,分別將數(shù)據(jù)保存為不同的文件名,最后再匯總。
運(yùn)行的效果大概是這樣的,數(shù)字是已經(jīng)已經(jīng)爬取了多少條鏈接,其實(shí)完全可以在一天或者兩天內(nèi)就把全站信息爬完的。
至于爬取后要怎么處理就看自己愛(ài)好了,我是先保存為 csv 文件,然后再匯總插入到數(shù)據(jù)庫(kù)。
匯總的 csv 文件
數(shù)據(jù)庫(kù)表
由于這些內(nèi)容是我在幾個(gè)月前爬取的,所以數(shù)據(jù)其實(shí)有些滯后了。
數(shù)據(jù)總量
查詢(xún)播放量前十的視頻
查詢(xún)回復(fù)量前十的視頻
各種花樣查詢(xún)?nèi)尉x擇!!視頻的鏈接為?https://www.bilibili.com/video/av?+ v_aid
- WAIC 2025 論壇直擊 | 超聚變智能體與應(yīng)用專(zhuān)題論壇圓滿(mǎn)召開(kāi)
- 超聚變亮相WAIC 2025:重構(gòu)數(shù)智化平臺(tái) 共建智能體時(shí)代
- 華為海外重大突破!西班牙內(nèi)政部簽署億元數(shù)據(jù)存儲(chǔ)訂單
- 閃存普惠,一步到位!華為商業(yè)市場(chǎng)極簡(jiǎn)全閃數(shù)據(jù)中心Pro+重磅發(fā)布
- 《企業(yè)數(shù)據(jù)治理實(shí)踐白皮書(shū)》發(fā)布,啟信寶聯(lián)合六大數(shù)交所共同編制
- 業(yè)界首個(gè)!華為數(shù)據(jù)中心自動(dòng)駕駛網(wǎng)絡(luò)通過(guò)EANTC L4自智網(wǎng)絡(luò)等級(jí)測(cè)評(píng)
- AI模型的耗電量驚人 下一步是建設(shè)太空數(shù)據(jù)中心?
- 為什么制造商必須協(xié)調(diào)IT和OT,才能實(shí)現(xiàn)智能工業(yè)的成功?
- 打造AI時(shí)代先進(jìn)算力底座,鯤鵬開(kāi)發(fā)者峰會(huì)2025即將開(kāi)幕
- 金山辦公宣布未來(lái)五年戰(zhàn)略:重建海外基地,優(yōu)化WPS Office用戶(hù)體驗(yàn)
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。