古詩詞大全網 - 字典詞典 - 如何通過python調用新浪微博的API來爬取數據

如何通過python調用新浪微博的API來爬取數據

先上結論,通過公開的api如果想爬到某大v的所有數據,需要滿足以下兩個條件:

1、在妳的爬蟲開始運行時,該大v的所有微博發布量沒有超過回溯查詢的上限,新浪是2000,twitter是3200。

2、爬蟲程序必須不間斷運行。

新浪微博的api基本完全照搬twitter,其中接口的參數特性與底層的NoSQL密不可分,建議先看點Nosql數據庫的設計理念有助於更好的理解api設計。

壹般來說,如果決定爬某個大v,第壹步先試獲取該用戶的基本信息,中間會包含壹條最新的status,記下其中的id號作為基準,命名為baseId。

接口中最重要的兩個參數:

since_id:返回ID比since_id大的微博(即比since_id時間晚的微博),默認為0。

max_id:返回ID小於或等於max_id的微博,默認為0。

出於各種原因,獲取statuses的接口,固定為按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假設該微博第壹天上線,就壹個用戶,發了壹百條,id是1到100。而妳在該用戶發了第50條的時候開始運行的爬蟲,即baseId=50。