2012-11-12 3 views
1

그래서 xml 형식의 API를 사용하는 트위터 사용자의 처음 4999 명의 팔로워 ID를 수집하는 스크립트가 이미 있습니다. 나는 커서 프로세스가 어떻게 작동하는지 이해하지만 모든 추종자가 모일 때까지 루프를 구현하는 방법을 혼란 스럽다. 내가 수집하려고 시도하는 사용자는 약 8 건의 전화가 걸립니다. 커서 루프를 구현하는 방법에 대한 아이디어가 있습니까?트위터 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

기본적으로 나는 트위터 API를 사용하여 40 만 명의 추종자 ID를 검색하려고 시도하고 있습니다. 그러나 단일 호출은 4999 명의 사용자 만 검색합니다. 나머지 추종자를 모으는 방법을 찾으려고 노력 중입니다. – bardockyo

답변

3

필자는 Microsoft의 추종자 (346K 추종자)를 예로 들어 보겠습니다.

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

그것은 단지 5000 사용자 ID를 가져, 트위터 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

관련 문제