Sayısal değere göre PHP Curl ve Döngü

1 Cevap php

Im iyi Favori tweets toplam sayfalar doğru olarak, ben favorited ettik tweets sayısını toplamak için Twitter API kullanarak.

Ben bu URL'yi kullanın: http://api.twitter.com/1/users/show/username.xml

Ben XML öğesi 'favorites_count' yakala

Bu Örneğin varsayalım favorites_count=5

Twitter API Favorties almak için bu URL'yi kullanır: http://twitter.com/favorites.xml (kimliği doğrulanmış olmalı)

?page=3 sık URL örneğin sonuna: Sadece ancak ekleyerek bir 'sayfa' seçeneği dahil URL'yi değiştirebilir, bu URL'yi kullanarak son 20 Favorties alabilirsiniz

http://twitter.com/favorites.xml?page=2

Peki ne yapmam gerekiyor favori tweets toplamak için CURL (bence) kullanmaktır, ancak URL'yi kullanarak:

http://twitter.com/favorites.xml?page=1

http://twitter.com/favorites.xml?page=2

http://twitter.com/favorites.xml?page=3

http://twitter.com/favorites.xml?page=4

etc...

Her bir URL ziyaret ve Tweets ve daha sonra çıkışı cotents toplamak için döngü bir çeşit.

Can anyone help with this: - Need to use CURL to authenticate - Collect the number of pages of tweets (Already scripted this) - Then use a loop to go through each page URL based on the pages value?

1 Cevap

Sık toplam sayısı veya toplam sayfa sayısının favorites_count mi?

$twitter = curl_init('http://api.twitter.com/1/users/show/username.xml');
curl_set_opt($twitter, CUROPT_RETURNTRANSFER, true);

$userInfo = curl_exec($twitter);
$userObj = new SimpleXmlElement($userInfo);
$nbFaves = $userObj->favorites_count; // (string) 5

$urlTpl = "http://http://twitter.com/favorites.xml?page=%s";
$favorites = array(); // this will be the data for output

for($i =0; $i < $nbFaves; $i++) {
  $pageUrl = sprintf($urlTpl, $i+1); // notice the +1 to move from 0 indexed to 1 indexed
  curl_set_opt($twitter, CURLOPT_URL, $pageUrl);
  $faves = curl_exec($twitter);
  $faves = new SimpleXmlElement($faves);

  foreach($faves->favorite as $fave) {
     $data = array();
     /* here you assign the diferent child values/attributes 
      * from the favorite node to the $data array
      */
     $favorites[] = $data; // push the data array into $favorites
  }

  unset($faves); // just some cleanup

}

// now you would loop through $favorites and output the data as html.

favorites_count sık değil sayfaların toplam sayısı Şimdi eğer o zaman bir sayfada kaç favorim orada dayalı kaç sayfa anlamaya yukarıdaki değiştirmeniz gerekir. ama oldukça basit bu.