爬虫终于找到了知乎/B站 Top100大V,关注!
經常逛知乎、B站,作為吃瓜群眾也很好奇這兩個網站「頭部用戶」是哪些人。
為了滿足各位好奇心,先上名單后上爬蟲思路和代碼。
????居然是他們。
????體驗網頁:
????http://rank.python666.cn/
下面說說爬取和可視化思路:
這兩個平臺的被關注數都是公開的數據,不像微信公眾號。所以只要你一個個用戶翻過去,就可以找出哪些用戶的“粉絲”更多。但顯然,我們不可能人工來做這樣的事情,這兩個平臺的賬號數都已過億。我們需要借助程序來做這件事。
即使用程序,上億個用戶每個都查一下,假設1秒鐘查10個,也需要查100多天。所以我們需要改進下“算法”:知乎上選取幾個大V用戶(實際上我們就是從“張佳瑋”一個號開始),只去查他們關注的用戶,如果發現里面有超過1萬粉的大V,就加入到大V隊列末尾,直到遍歷完整個隊列。再對所有找到的用戶進行排序。因為通常來說,一個大V總會被其他大V所關注,所以這樣就幾乎包括了所有大V。
B站上也是類似,但是選取了今年播放數超50萬視頻的UP主,以他們作為最初的大V隊列。之后再通過他們關注的人進行數據更新。
當然,這種方法也存在遺漏的可能,比如或許存在某個大V,因為某些原因恰好沒有被我們所抓取的隊列總任何一個用戶所關注,那么他就不會存于排行榜中。雖然從統計學的角度來說,這個概率很小。但我們也為此做了一個彌補,就是一旦你發現某個大V不在列表中,可以通過頁面上方的輸入框提交他的主頁鏈接,那么我們就會收錄在隊列中,下次更新時就會增加進去。
有了這個排行,平臺上的大V都有誰就一目了然了。更進一步,你還可以從細節看出些有意思的東西。舉幾個例子:
B站UP主“敬漢卿”,上周因為名字被某公司惡意搶注的事件,得到較多關注,粉絲漲了100多萬
本期B站排名第69的“羅漢解說”,上周上升24名。對這位UP主我不熟悉,看了下也是因為一個維權相關的視頻受到了關注
知乎上現在排名最前和漲幅最猛的是幾個自家賬號:知乎日報、劉看山、知科技。丁香醫生超張佳瑋成知乎一哥,而他倆則遠高于后面一位。
知乎榜上只有一位用戶的關注是負增長:無恥采銅。老知乎用戶應該知道他,也是有一些歷史遺留八卦在其中。此賬號65萬關注,但現在已沒有任何回答。
通過數據的整理和可視化,經常會讓人發現一些平常注意不到的信息。這個排行工具只是個練手的小程序,功能還簡陋,也沒做移動端適配。不過對于需要運營知乎賬號的新媒體從業者,或者榜上的創作者們,類似的工具還是很有用處的。普通用戶也可以從榜上去發掘一些寶藏作者/UP主。
這個案例對于想要做爬蟲的同學來說是個比較好的套路案例。類似的方法,你可以用在監控商品價格波動、新品上架、庫存量變化、番劇更新、明星的微博等等需求中。盡管現在有很多工具可以完成類似的工作,但如果遇到工具不能滿足的時候,如果自己可以動手用幾行代碼解決,那就很能增加你的競爭力了。
此項目實現有一點特殊的地方在于,它的數據是另一個分析項目的副產品,是使用 scrapy 抓取的。因此在本案例中,我們以原始數據的形式直接給出。具體 scrapy 抓取部分的代碼會在后續項目中提供。
此項目用 django 搭建了展示的頁面,前端展示使用了 Datatables 表格插件。定時抓取是通過 Linux 下的 cronjob 功能來實現(windows 可以使用計劃任務),抓取時使用了 requests 模塊。
????源代碼及文檔:
????https://github.com/spiderbeg/bili_rank
總結
以上是生活随笔為你收集整理的爬虫终于找到了知乎/B站 Top100大V,关注!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何通过数据分析找到热销产品?
- 下一篇: 《标题党》自我修炼的10个秘籍