用python爬蟲追蹤知乎/B站大V排行

最近,我們的實訓生清風小築在學習和實踐 python 的數據分析,前幾周把知乎、B站、虎撲上的各種信息都抓了個遍,比如粉絲數、關注關係、發佈時間、閱讀量、回覆數、標題關鍵字、地域分佈……然後又對這些數據進行了整理,將數據通過各類圖表進行可視化,進而分析出諸如:用戶最喜歡在什麼時候刷貼、什麼樣的標題更容易被點擊、哪個地區的用戶最喜歡評論、哪個UP主最勤奮等等。這幾個案例和分析報告已經在整理中,接下來會陸續給大家分享。

今天要給大家看的,是在數據分析過程中產出的一個副產品:

知乎/B站的Top100大V排行

這個排行不是一次性的結果,而是每週更新的。所以從這個上面還可以顯示出榜上大V一週來的用戶增長和排名變化情況。

網址/源碼/文檔見文末

微博早期是有一個“粉絲數排行榜”的,可以看到誰的被關注數最多,現在好像已經取消了。像知乎、B站這種以內容爲核心的網站,官方沒有提供這樣的榜單。不過某些喫瓜羣衆(比如我)多少還是會好奇,“頭部”用戶有哪些人

這兩個平臺的被關注數都是公開的數據,不像VX公*號。所以只要你一個個用戶翻過去,就可以找出哪些用戶的“粉絲”更多。但顯然,我們不可能人工來做這樣的事情,這兩個平臺的賬號數都已過億。我們需要藉助程序來做這件事。

即使用程序,上億個用戶每個都查一下,假設1秒鐘查10個,也需要查100多天。所以我們需要改進下“算法”:知乎上選取幾個大V用戶(實際上我們就是從“張佳瑋”一個號開始),只去查他們關注的用戶,如果發現裏面有超過1萬粉的大V,就加入到大V隊列末尾,直到遍歷完整個隊列。再對所有找到的用戶進行排序。因爲通常來說,一個大V總會被其他大V所關注,所以這樣就幾乎包括了所有大V。

B站上也是類似,但是選取了今年播放數超50萬視頻的UP主,以他們作爲最初的大V隊列。之後再通過他們關注的人進行數據更新。

當然,這種方法也存在遺漏的可能,比如或許存在某個大V,因爲某些原因恰好沒有被我們所抓取的隊列總任何一個用戶所關注,那麼他就不會存於排行榜中。雖然從統計學的角度來說,這個概率很小。但我們也爲此做了一個彌補,就是一旦你發現某個大V不在列表中,可以通過頁面上方的輸入框提交他的主頁鏈接,那麼我們就會收錄在隊列中,下次更新時就會增加進去。

有了這個排行,平臺上的大V都有誰就一目瞭然了。更進一步,你還可以從細節看出些有意思的東西。舉幾個例子:

  1. B站UP主“敬漢卿”,上週因爲名字被某公司惡意搶注的事件,得到較多關注,粉絲漲了100多萬
  2. 本期B站排名第69的“羅漢解說”,上週上升24名。對這位UP主我不熟悉,看了下也是因爲一個維權相關的視頻受到了關注
  3. 知乎上現在排名最前和漲幅最猛的是幾個自家賬號:知乎日報、劉看山、知科技。丁香醫生超張佳瑋成知乎一哥,而他倆則遠高於後面一位。
  4. 知乎榜上只有一位用戶的關注是負增長:無恥採銅。老知乎用戶應該知道他,也是有一些歷史遺留八卦在其中。此賬號65萬關注,但現在已沒有任何回答。

通過數據的整理和可視化,經常會讓人發現一些平常注意不到的信息。這個排行工具只是個練手的小程序,功能還簡陋,也沒做移動端適配。不過對於需要運營知乎賬號的新媒體從業者,或者榜上的創作者們,類似的工具還是很有用處的。普通用戶也可以從榜上去發掘一些寶藏作者/UP主。

這個案例對於想要做爬蟲的同學來說是個比較好的套路案例。類似的方法,你可以用在監控商品價格波動、新品上架、庫存量變化、番劇更新、明星的微博等等需求中。儘管現在有很多工具可以完成類似的工作,但如果遇到工具不能滿足的時候,如果自己可以動手用幾行代碼解決,那就很能增加你的競爭力了。

此項目實現有一點特殊的地方在於,它的數據是另一個分析項目的副產品,是使用scrapy抓取的。因此在本案例中,我們以原始數據的形式直接給出。具體 scrapy 抓取部分的代碼會在後續項目中提供。

此項目用django搭建了展示的頁面,前端展示使用了Datatables表格插件。定時抓取是通過 Linux 下的cronjob功能來實現(windows 可以使用計劃任務),抓取時使用了requests模塊。

這裏再推一下之前寫過的幾篇文章,對於掌握爬蟲抓取很有幫助:

排行網頁已上線,不過目前只是放在一個測試服務器上,帶寬不大,如果文章發出後無法訪問,多半是因爲瞬時訪問太多(這似乎成爲常態了……),請晚些再體驗。如果大家覺得這個功能有用,或者有其他建議的話,可以在本文下留言,我們之後還會再做進一步的更新。

在瀏覽器中打開 rank.python666.cn 可以進入排行頁面。

獲取源碼及詳細文檔請在公*號(Crossin的編程教室)中回覆關鍵字:排行

----

這裏順便打個小廣告:最近我們編程教室打算開展一個爬蟲學習小組,目標是讓有一點python基礎的同學可以通過數個案例較快地上手爬蟲常用套路,爲後續進階打基礎。這是個付費學習小組。詳情參見:3周,Crossin帶你一起學爬蟲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章