知乎上的用戶評論數據如何用八爪魚獲取?

畢業論文想分析知乎的用戶行為特徵,怎麼截取知乎某個話題下面的評論、回復、點贊等數據。想使用八爪魚軟體抓數據。


謝邀!知乎首答,誠惶誠恐。

我對八爪魚不太熟悉,沒有仔細研究過,不過剛好前段時間在開發神箭手的過程中,做了一個爬取知乎評論的需求,這裡就從技術角度簡單分析一下爬取過程。

題主的問題是"怎麼截取知乎某個話題下面的評論、回復、點贊等數據",我猜題主是想爬取指定話題下面的問題,然後抓取問題的回復、評論以及點贊數據。爬取指定話題下面的問題,相信各類採集器(八爪魚、火車頭等)都能很好地解決,下面主要說說知乎問題頁面的內容抓取(主要是評論)。

首先看下知乎問題頁的網頁結構。

贊同數和回答內容都比較簡單,查看網頁內容都可以找到,寫相應的xpath就可以抽取出內容,而到評論這裡就沒有那麼簡單了。知乎為了防止網頁載入的太慢,把一些不太重要的數據通過AJAX方式載入,這裡的評論就是這樣。

調出Chrome的開發者工具,切換到Network,然後點開評論,就可以看到發出去的獲取評論的請求,Response欄裡面可以看到返回的json格式的數據。

研究後可以發現,知乎並沒有針對爬蟲做太多的數據保護,只要拼出這個url,發個GET請求,就可以拿到數據。不難發現,整個url中只有一個變數,就是answerId,從網頁源碼中發現這個answerId就可以拼出這個url,藉助Chrome的開發者工具,可以很方便地找到。

div標籤的data-aid屬性,以及meta標籤的content屬性,都可以用xpath抽取出answerId,抽取到之後,拼出url,就可以發個GET請求獲取數據了,獲取到的數據是json格式的,用JsonPath解析數據就好了。

數據的抽取過程其實很簡單,但是想要在相對通用的爬蟲/採集器裡面實現上面的這個流程,還是比較複雜的,所以我猜八爪魚可能不支持上面的這種AJAX抓取過程,題主可以用八爪魚嘗試一下。如果不行,歡迎體驗我們的神箭手雲爬蟲,平台上有已經寫好的知乎規則,題主有js和xpath基礎的話,也可以自己定製。


@師敬超 對於你提到八爪魚不支持ajax的說法,我先肯定的回答,八爪魚絕對支持,不要因為自己想引導用戶用什麼手採集器就瞎說,黑別人並不能抬高自己。我是八爪魚創始人,感謝用戶諮詢操作問題,我剛才去搜索了一下「知乎」的採集規則,發現別人有已經做好知乎採集規則的,在數多多(八爪魚旗下數據和規則共享交易平台)上。

我去試用了一下該規則,我把試用採集到的結果數據截圖給樓主看看,如果樓主感興趣,可以到圖片後面的鏈接去看詳細情況,我注意到該規則是別人付費共享的,幾十塊而已,如果不介意,直接下載就可以用了。如果介意的話,最好到官網去看看教程,學習一下,自己也能做出來,碰到問題可以到論壇提問:

此規則鏈接:數多多—領先的大數據服務眾包平台,涵蓋數據定製,數據下載,數據交易,爬蟲定製,爬蟲下載,數據報告定製,數據眾包,數據清洗等範圍,致力於打造一站式數據服務交易平台

此規則作者說明如下:


此規則採集知乎問題評論,默認20頁翻頁,可自行修改翻頁數量,不懂可以諮詢店主。

規則採集嚴格按照客戶一般需求的欄位需求製作,如果規則不完全滿足您的要求可以找我們定製,請詳細整理一份需求文檔給我們,我們將為您提供專門的定製方案。提供文檔格式如下:

採集入口URL:例如,www.bazhuayu.com

採集欄位:例如:標題,發布時間,作者,正文

完成時間:2017年6月30日前

方案定製前,您可先下載八爪魚採集器,下載地址:http://dls.bazhuayu.com/ws/2,詳細安裝教程如下:

八爪魚安裝教程:http://www.jianshu.com/p/930e1f20378c

八爪魚規則使用教程:http://www.jianshu.com/p/792e39907673


這些工具能不能抓起電話號碼了?急需,先拜謝大神


推薦閱讀:

獲取歷史(過去幾年)的全網輿情數據有些(購買)渠道?
燃氣抄表為什麼沒有大規模採用無線通信模式?
Python數據分析及可視化實例之爬蟲源碼(03)
GrowingIO用戶行為數據採集和分析實踐
3小時的Python學習成果展示(附源碼)

TAG:知乎 | 互聯網 | 知乎用戶 | 數據採集 |