Script PHP สำหรับแสดงรายการคนที่เราไป follow ว่ามีการ tweet ครั้งสุดท้ายเมื่อไหร่

เอาไปแกะต่อกันเองนะครับ เขียนแบบลวกๆ ไว้ใช้งานคนเดียว แต่มีหลายคนอยากได้ก็เลยจัดให้ครับ

เอาไว้ดูว่าคนที่เราตามอยู่เนี่ยเลิกเล่น twitter ไปหรือยัง จะได้ไป unfollow ได้ เพื่อลดจำนวนคนที่เรา follow ครับ

  1. < ?php
  2. error_reporting(0);
  3.  
  4. $type = 'friends'; // friends | following
  5.  
  6. $login = "username:password";
  7. $cursor = -1;
  8. $user_info = explode(':', $login, 2);
  9. $req_num = 0;
  10. $user_lists = array();
  11.  
  12. while($cursor != 0 ) {
  13.  
  14.     $req_num++;
  15.     $tweeters = null;
  16.     $retry  = false;
  17.     $uri = "http://twitter.com/statuses/".$type.".xml?screen_name=".$user_info[0]."&cursor=".$cursor;
  18.  
  19.     $tw = curl_init();
  20.     curl_setopt($tw, CURLOPT_URL, $uri);
  21.     curl_setopt($tw, CURLOPT_USERPWD, $login);
  22.     curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
  23.     curl_setopt($tw, CURLOPT_TIMEOUT, 30);
  24.     $twi = curl_exec($tw);
  25.  
  26.     try {
  27.         $tweeters = new SimpleXMLElement($twi);
  28.     } catch(Exception $e) {
  29.         $retry = true;
  30.     }
  31.  
  32.     if(count($tweeters) > 0 ) {
  33.         foreach($tweeters->users->user as $user) {
  34.             $datetime = new DateTime($user->status->created_at);
  35.             $timestmp = mktime(
  36.                 $datetime->format('H'),
  37.                 $datetime->format('i'),
  38.                 $datetime->format('s'),
  39.                 $datetime->format('n'),
  40.                 $datetime->format('j'),
  41.                 $datetime->format('Y')
  42.             );
  43.             $user_lists[$timestmp][] = $user;
  44.         }
  45.     }
  46.     if(!$retry)
  47.         $cursor = $tweeters->next_cursor;
  48. }
  49.  
  50. if(count($user_lists) > 0 ) {
  51.     ksort($user_lists, SORT_NUMERIC);
  52.     foreach($user_lists as $timestmp => $user_list) {
  53.         foreach($user_list as $user) {
  54.             echo date("Y-m-d", $timestmp) . ' - ' . $user->screen_name.PHP_EOL;
  55.         }
  56.     }
  57. }
  58. echo PHP_EOL;
  59. echo 'Req : '.$req_num.PHP_EOL;
  60. ?>

4 thoughts on “Script PHP สำหรับแสดงรายการคนที่เราไป follow ว่ามีการ tweet ครั้งสุดท้ายเมื่อไหร่”

  1. $user_info = explode(‘:’, $login); เปลี่ยนเป็น $user_info = explode(‘:’, $login, 2); น่าจะดีกว่านะ password มี : ได้นะครับ

    • อ่อ …. ปรกติไม่มี password : เลยไม่ได้คิดถึงตรงนี้แฮะ …

      ok ครับ ขอบคุณสำหรับข้อเสนอแนะครับ

    • นานๆ ใช้ทีครับ ผมยอมเสีย API Limit สักชั่วโมงเพื่อลากเอาคนที่ผม follow แล้วไม่ยอม update มาเกือบปีออกจาก list แล้วถือว่าคุ้มค่ามากเลย

Leave a Comment