python - 如何獲取新浪微博某個用戶的轉發微博數和原創微博數
問題描述
1.問題描述我正在做微博水軍相關分析,需要獲取微博用戶的轉發微博比和原創微博比,即用戶轉發他人微博數/所有微博數。
查閱文獻發現很多人的論文中有這一類數據,但不知道怎么獲得的。
我發現手機端和pc版本的微博,都可以利用篩選,查找一個人的轉發微博,但是當我在手機版這樣篩選時返回結果為空。
而電腦版得到的結果,轉發微博數和原創微博數的和明顯遠小于全部微博數。
2.需要的幫助(1)新浪微博的搜索引擎是不是有問題(2)能否通過某種搜索方式得到一個人的原創微博數,和轉發微博數,API與爬蟲均可。(不是用全部微博數-原創微博數,因為還包含不可見微博)。
問題解答
回答1:我開源了一個分布式的微博爬蟲,該項目最初是做關于熱門微博轉發的分析(和我本身工作相關)。后來經過我多次修改,加了很多新的功能,并把它開源出來了。關于第一個問題,微博的搜索引擎是否有問題,我覺得有可能是它刻意為之,因為比如像用戶關注和用戶粉絲,微博系統就只會限制返回5頁數據,像按地方搜索用戶,也只會返回幾萬條數據。也有可能是由于有些微博你沒權限查看,而它搜出來的結果是你有權限查看的。你說的第二個問題,不可見微博肯定是拿不到的,爬蟲只能拿到普通用戶能看見的微博數據,這個我也是在代碼中實現了。因為私有微博的話,肯定微博系統不會展示的,API應該也拿不到。因為微博這么大的公司,還是得保護一下用戶隱私吧。移動端你通過搜索接口搜索返回為空的原因,其實可能是因為微博刻意這么做的。你可以仔細調研一下,會發現PC端的信息比移動端的微博信息豐富得多。所以如果要做爬蟲,且要求數據全面,肯定得從PC端入手。
相關文章:
