python - 如何獲取新浪微博某個用戶的轉(zhuǎn)發(fā)微博數(shù)和原創(chuàng)微博數(shù)
問題描述
1.問題描述我正在做微博水軍相關(guān)分析,需要獲取微博用戶的轉(zhuǎn)發(fā)微博比和原創(chuàng)微博比,即用戶轉(zhuǎn)發(fā)他人微博數(shù)/所有微博數(shù)。
查閱文獻發(fā)現(xiàn)很多人的論文中有這一類數(shù)據(jù),但不知道怎么獲得的。
我發(fā)現(xiàn)手機端和pc版本的微博,都可以利用篩選,查找一個人的轉(zhuǎn)發(fā)微博,但是當我在手機版這樣篩選時返回結(jié)果為空。
而電腦版得到的結(jié)果,轉(zhuǎn)發(fā)微博數(shù)和原創(chuàng)微博數(shù)的和明顯遠小于全部微博數(shù)。
2.需要的幫助(1)新浪微博的搜索引擎是不是有問題(2)能否通過某種搜索方式得到一個人的原創(chuàng)微博數(shù),和轉(zhuǎn)發(fā)微博數(shù),API與爬蟲均可。(不是用全部微博數(shù)-原創(chuàng)微博數(shù),因為還包含不可見微博)。
問題解答
回答1:我開源了一個分布式的微博爬蟲,該項目最初是做關(guān)于熱門微博轉(zhuǎn)發(fā)的分析(和我本身工作相關(guān))。后來經(jīng)過我多次修改,加了很多新的功能,并把它開源出來了。關(guān)于第一個問題,微博的搜索引擎是否有問題,我覺得有可能是它刻意為之,因為比如像用戶關(guān)注和用戶粉絲,微博系統(tǒng)就只會限制返回5頁數(shù)據(jù),像按地方搜索用戶,也只會返回幾萬條數(shù)據(jù)。也有可能是由于有些微博你沒權(quán)限查看,而它搜出來的結(jié)果是你有權(quán)限查看的。你說的第二個問題,不可見微博肯定是拿不到的,爬蟲只能拿到普通用戶能看見的微博數(shù)據(jù),這個我也是在代碼中實現(xiàn)了。因為私有微博的話,肯定微博系統(tǒng)不會展示的,API應該也拿不到。因為微博這么大的公司,還是得保護一下用戶隱私吧。移動端你通過搜索接口搜索返回為空的原因,其實可能是因為微博刻意這么做的。你可以仔細調(diào)研一下,會發(fā)現(xiàn)PC端的信息比移動端的微博信息豐富得多。所以如果要做爬蟲,且要求數(shù)據(jù)全面,肯定得從PC端入手。
相關(guān)文章:
1. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)2. 關(guān)于mysql聯(lián)合查詢一對多的顯示結(jié)果問題3. python - scrapy url去重4. mysql在限制條件下篩選某列數(shù)據(jù)相同的值5. 數(shù)據(jù)庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。6. 小白學python的問題 關(guān)于%d和%s的區(qū)別7. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?8. 實現(xiàn)bing搜索工具urlAPI提交9. python - Django有哪些成功項目?10. Python從URL中提取域名
