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ā)微博,但是當(dāng)我在手機版這樣篩選時返回結(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應(yīng)該也拿不到。因為微博這么大的公司,還是得保護一下用戶隱私吧。移動端你通過搜索接口搜索返回為空的原因,其實可能是因為微博刻意這么做的。你可以仔細調(diào)研一下,會發(fā)現(xiàn)PC端的信息比移動端的微博信息豐富得多。所以如果要做爬蟲,且要求數(shù)據(jù)全面,肯定得從PC端入手。
相關(guān)文章:
1. vim里的高亮javascript的javascript.vim 已經(jīng)放到syntax里了,但是不行。2. angular.js - ng-file-upload 如何實現(xiàn)多圖片上傳3. android - xml的drawable作背景,是否會產(chǎn)生錯誤4. python - pip install出現(xiàn)下面圖中的報錯 什么原因?5. 我何時應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)6. angular.js - angularJs ngRoute怎么在路由傳遞空字符串及用ng-switch取得7. 輸入地址報以下截圖錯誤,怎么辦?8. node.js - node中MYSQL的異步問題9. javascript - 求助一個關(guān)于indexedDB的問題10. javascript - ie11以下單擊打開不了file,雙擊可以。求解?
