爬蟲 新浪API問題

最近在做爬蟲,因為要爬取新浪微博,所以看了看新浪提供的API工具。下面說一下我所遇到的問題:

我現在的需求是要獲取一條原創微博的所有轉發微博。根據API文檔,找到了statuses/repost_timeline 返回一條原創微博的最新轉發微博,下面是官方文檔的截圖:屏幕快照 2014-10-25 19.37.54屏幕快照 2014-10-25 19.38.17
文檔說是返回最新2000條數據,下面拿一條微博測試:屏幕快照 2014-10-25 19.43.06 這條微博被轉發了36276次。下面是我在API測試工具中調用repost_timeline的結果:屏幕快照 2014-10-25 19.46.41下面獲取第二頁的數據:
屏幕快照 2014-10-25 19.47.06
第二頁就已經獲取不到數據了,這到底是啥問題呢。。。

由于解決不了這個問題,我又想了一種方法,API 中還有一個函數,repost_timeline_ids可以用來獲取一條微博的最新轉發微博的id,還有一個函數show可以用來獲取指定微博id的微博的信息,這個輾轉一下可能解決這個問題。下面是在API測試工具中調用repost_timeline_ids的結果:屏幕快照 2014-10-25 19.54.21屏幕快照 2014-10-25 19.54.54屏幕快照 2014-10-25 19.55.17
心里小激動了一把,居然真的返回了2000條數據,還可以看出一個問題,max_id和since_id起作用也是在這2000條數據內,不能通過設置max_id來獲取多余2000條的數據(不要太naive哦),下面是第10頁的最小的微博id,下面我設置max_id為這條微博的id,天真的想法是,還可以返回小于max_id的另外2000條微博id,但事實是這樣嗎:屏幕快照 2014-10-25 20.07.20

結果就這樣了,不解釋了。

下面看看我們是不是可以通過轉發微博的id來獲取相應的信息呢?實驗表明,一小部分可以獲得,很多的都返回這樣的數據:屏幕快照 2014-10-25 20.08.54
疑惑??!

李斯文

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: