自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何快速爬取B站全站視頻信息

開發(fā)
B 站我想大家都熟悉吧,其實 B 站的爬蟲網(wǎng)上一搜一大堆。不過 紙上得來終覺淺,絕知此事要躬行,我碼故我在。最終爬取到數(shù)據(jù)總量為 760萬 條。

B 站我想大家都熟悉吧,其實 B 站的爬蟲網(wǎng)上一搜一大堆。不過 紙上得來終覺淺,絕知此事要躬行,我碼故我在。最終爬取到數(shù)據(jù)總量為 760萬 條。

準(zhǔn)備工作

首先打開 B 站,隨便在首頁找一個視頻點擊進(jìn)去。常規(guī)操作,打開開發(fā)者工具。這次是目標(biāo)是通過爬取 B 站提供的 api 來獲取視頻信息,不去解析網(wǎng)頁,解析網(wǎng)頁的速度太慢了而且容易被封 ip。

勾選 JS 選項,F(xiàn)5 刷新

找到了 api 的地址

復(fù)制下來,去除沒必要的內(nèi)容,得到 https://api.bilibili.com/x/web-interface/archive/stat?aid=15906633 ,用瀏覽器打開,會得到如下的 json 數(shù)據(jù)

動手寫碼

好了,到這里代碼就可以碼起來了,通過 request 不斷的迭代獲取數(shù)據(jù),為了讓爬蟲更高效,可以利用多線程。

核心代碼

  1. result = [] 
  2. req = requests.get(url, headers=headers, timeout=6).json() 
  3. time.sleep(0.6)     # 延遲,避免太快 ip 被封 
  4. try: 
  5.     data = req['data'
  6.     video = Video( 
  7.         data['aid'],        # 視頻編號 
  8.         data['view'],       # 播放量 
  9.         data['danmaku'],    # 彈幕數(shù) 
  10.         data['reply'],      # 評論數(shù) 
  11.         data['favorite'],   # 收藏數(shù) 
  12.         data['coin'],       # 硬幣數(shù) 
  13.         data['share']       # 分享數(shù) 
  14.     ) 
  15.     with lock: 
  16.         result.append(video) 
  17. except
  18.     pass 

迭代爬取

  1. urls = ["http://api.bilibili.com/archive_stat/stat?aid={}".format(i)  
  2.     for i in range(10000)] 
  3.  with futures.ThreadPoolExecutor(32) as executor:    # 多線程 
  4.      executor.map(run, urls) 

不要一次性爬取全部鏈接,我是利用兩個進(jìn)程,這樣就是多進(jìn)程+多線程了。一個進(jìn)程一次大概爬取 50w 條數(shù)據(jù)。100w 條數(shù)據(jù)的話大概一個多小時吧。分多次爬取,分別將數(shù)據(jù)保存為不同的文件名,最后再匯總。

運行的效果大概是這樣的,數(shù)字是已經(jīng)已經(jīng)爬取了多少條鏈接,其實完全可以在一天或者兩天內(nèi)就把全站信息爬完的。

至于爬取后要怎么處理就看自己愛好了,我是先保存為 csv 文件,然后再匯總插入到數(shù)據(jù)庫。

匯總的 csv 文件

 

數(shù)據(jù)庫表

 

由于這些內(nèi)容是我在幾個月前爬取的,所以數(shù)據(jù)其實有些滯后了。

數(shù)據(jù)總量

 

查詢播放量前十的視頻

查詢回復(fù)量前十的視頻

各種花樣查詢?nèi)尉x擇?。∫曨l的鏈接為 https://www.bilibili.com/video/av + v_aid

詳細(xì)代碼請移步至 bili.py

對數(shù)據(jù)感興趣的話可以郵箱聯(lián)系我,可以打包贈與。

 

項目地址:chenjiandongx/bili-spider 歡迎圍觀  vfghjklp;]\78+

責(zé)任編輯:龐桂玉 來源: 知乎
相關(guān)推薦

2018-01-04 09:20:55

python爬蟲視頻彈幕

2021-06-02 15:10:20

PythonScrapy視頻

2020-12-02 09:42:42

PythonApp抖音視頻

2013-07-01 15:11:19

iOS

2025-03-05 00:00:55

2009-12-09 17:19:38

PHP全站權(quán)限驗證

2017-08-27 11:22:13

視頻信訪互聯(lián)網(wǎng)維穩(wěn)

2018-01-16 18:43:18

爬蟲工具電影天堂

2021-03-01 21:32:49

HTTP2 QUIC

2024-03-01 18:52:31

視頻超分算法

2021-07-14 08:54:12

B站A站服務(wù)器

2018-11-26 18:57:58

Python數(shù)據(jù)分析爬取

2020-10-12 08:19:43

Python爬蟲網(wǎng)頁數(shù)據(jù)

2021-09-08 10:22:36

B端C端設(shè)計師

2024-02-28 07:50:36

大數(shù)據(jù)標(biāo)簽系統(tǒng)AB 實驗

2022-12-07 07:35:20

B站裁員隱情

2023-03-29 23:34:16

2022-09-15 15:18:23

計算實踐

2023-12-26 12:18:34

2015-12-29 13:32:41

點贊
收藏

51CTO技術(shù)棧公眾號