python - 如何獲取新浪微博某個用戶的轉發微博數和原創微博數
問題描述
1.問題描述我正在做微博水軍相關分析,需要獲取微博用戶的轉發微博比和原創微博比,即用戶轉發他人微博數/所有微博數。
查閱文獻發現很多人的論文中有這一類數據,但不知道怎么獲得的。
我發現手機端和pc版本的微博,都可以利用篩選,查找一個人的轉發微博,但是當我在手機版這樣篩選時返回結果為空。
而電腦版得到的結果,轉發微博數和原創微博數的和明顯遠小于全部微博數。
2.需要的幫助(1)新浪微博的搜索引擎是不是有問題(2)能否通過某種搜索方式得到一個人的原創微博數,和轉發微博數,API與爬蟲均可。(不是用全部微博數-原創微博數,因為還包含不可見微博)。
問題解答
回答1:我開源了一個分布式的微博爬蟲,該項目最初是做關于熱門微博轉發的分析(和我本身工作相關)。后來經過我多次修改,加了很多新的功能,并把它開源出來了。關于第一個問題,微博的搜索引擎是否有問題,我覺得有可能是它刻意為之,因為比如像用戶關注和用戶粉絲,微博系統就只會限制返回5頁數據,像按地方搜索用戶,也只會返回幾萬條數據。也有可能是由于有些微博你沒權限查看,而它搜出來的結果是你有權限查看的。你說的第二個問題,不可見微博肯定是拿不到的,爬蟲只能拿到普通用戶能看見的微博數據,這個我也是在代碼中實現了。因為私有微博的話,肯定微博系統不會展示的,API應該也拿不到。因為微博這么大的公司,還是得保護一下用戶隱私吧。移動端你通過搜索接口搜索返回為空的原因,其實可能是因為微博刻意這么做的。你可以仔細調研一下,會發現PC端的信息比移動端的微博信息豐富得多。所以如果要做爬蟲,且要求數據全面,肯定得從PC端入手。
相關文章:
1. 數組按鍵值封裝!2. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題3. docker不顯示端口映射呢?4. python - flask _sqlalchemy 能否用中文作為索引條件5. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?6. python3.x - git bash如何運行.bat文件?7. javascript - ES6規范下 repeat 函數報錯 Invalid count value8. html5 - 使用echarts中的圖表 一個頁面導入了好幾個js圖表 實現echarts圖表隨著瀏覽器窗口變化而變化時出現了問題9. javascript - webpack中alias配置中的“@”是什么意思?10. javascript - 為什么創建多行多列的表格最后只有一行內有表格
