1

そのため、XML形式のAPIを使用してTwitterユーザーの最初の4999フォロワーIDを収集するスクリプトがすでにあります。カーソルプロセスがどのように機能するかは半ば理解していますが、すべてのフォロワーが集まるまでループするように実装する方法がわかりません。私が収集しようとしているユーザーは、約8回の呼び出しを行います。カーソルループを実装する方法について何かアイデアはありますか?

<?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';
 ?>
4

1 に答える 1

3

現在の Microsoft のフォロワー (346K フォロワー) の例を挙げてみましょう。

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

Twitter API の制限である 5000 のユーザー ID のみをフェッチします。したがって、json 出力から next_cursor 文字列を取得する必要があります。

next_cursor_str":"1418048755615786027"

だから、あなたの次の電話は

https://api.twitter.com/1/followers/ids.json?cursor=1418048755615786027&screen_name=マイクロソフト

next_cursor がゼロになるまでこれを続けます。

何度も何度もやり続けると、すべてのIDを保存し続けます..

于 2012-11-12T00:50:36.367 に答える