2012-11-12 75 views
1

因此,我已經有一個腳本來收集使用xml格式的API的Twitter用戶的前4999個關注者ID。我半知道遊標過程是如何工作的,但我很困惑如何實現它來循環,直到聚集所有的追隨者。我試圖收集的用戶將需要大約8個電話。關於如何實現遊標循環的任何想法?用於使用twitter API移動光標的PHP代碼

enter code here 
<?php 
$xmldata = 'http://api.twitter.com/1/followers/ids/microsoft.xml'; 
$open = fopen($xmldata, 'r'); 
$content = stream_get_contents($open); 
fclose($open); 
$xml = simplexml_load_file($xmldata); 
$cursor = $xml->next_cursor; 
$file = fopen ('output1.csv', 'w+'); 
fwrite($file, "User id\n\r"); 
while($cursor =! 0) 
{ 
foreach ($xml->ids->id as $id) 
{ 
    fwrite($file, $id . ", "); 
fwrite($file, "\n"); 


} 
$xmldata = 'http://api.twitter.com/1/followers/ids.xml?cursor='. $cursor 
.'&screeb_name=microsoft'; 
?> 
+0

也許更多的信息是需要回答你的問題... – Anil

+0

基本上我試圖檢索使用twitter API 400,000追隨者ID。但是,一次呼叫只能檢索到4999個用戶。我試圖找出如何收集其他的追隨者。 – bardockyo

回答

3

讓我以微軟的追隨者(346K追隨者)爲例。

https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=microsoft

它獲取只有5000的用戶ID,即Twitter API的限制。所以,你需要從JSON輸出

next_cursor_str採取next_cursor字符串 「:」 1418048755615786027"

所以,你的下一個電話將

https://api.twitter.com/1/followers/ids.json?cursor=1418048755615786027&screen_name=microsoft

堅持做下去,直到next_cursor是ZERO。

當你一直在做一遍又一遍,只是繼續存儲所有的ID ..

+0

由於您的回覆,我已更新了一些代碼。它看起來像那樣嗎? – bardockyo

+0

你有什麼想法嗎? – bardockyo

+0

如果你告訴我錯誤是什麼,我可以幫你...現在我看到了代碼..發現語法錯誤... while($ cursor!= 0) – Anil