精做高難度防水抓漏/壁癌/油漆等工程
責任施工、合約保固!
保險專業鋁門窗、鍛造門設計及安裝
價格便宜、品質好、設計佳,值得您信賴

首頁  •  tw 論壇 • 程式設計討論     • 

[php] 用 PHP 寫一個噗浪 (Plurk) 機器人

房東:小強
發表時間:2012-12-24
[檢舉]


ref: http://gala4th.blogspot.com/2009/07/php-plurk.html


Plurk 目前已經是時下最流行的微型部落格了,已經有很多的網友都有自己的噗浪帳號,使得目前許\多高手開始思考怎麼透過噗浪去產生一些額外的服務。



以下我就簡單說明怎麼寫一個屬於我們自己的噗浪機器人~



基本原理



機器人的原理很簡單,其實就是透過 cURL 來做登入及貼文的動作。已經有高手 Vexed 幫我們寫好程式碼啦,我們只要會改帳號密碼及要貼的訊息即可:



當然在這之前,我們必須先到 Plurk 上為我們的機器人註冊一個帳號。 (這裡假設其帳號密碼為 abc / iamabc)



註:程式碼並非我個人原創,我僅僅為大家說明觀念而已~:D





  1. /** 

  2.  * 透過 PHP + cURL 發噗 

  3.  * 

  4.  * @author: Vexed 

  5.  * @see: http://blog.xuite.net/vexed/tech/22023458 

  6.  */  

  7. define(\'NICKNAME\'\'abc\'); // 就是帳號  

  8. define(\'PASSWORD\'\'iamabc\'); // 就是密碼  

  9. define(\'USER_ID\'\'123456\'); // 登入後,在 HTML 原始碼裡找到 user_id 對應的值  

  10.    

  11. $message = \'我是用 PHP + CURL 寫的機器人~\';  

  12.    

  13. $ch = curl_init();  

  14.    

  15. // 產生 Cookie ,以便記住登入後的 Session  

  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

  17. curl_setopt($ch, CURLOPT_COOKIEJAR, \'cookie.txt\');  

  18. curl_setopt($ch, CURLOPT_COOKIEFILE, \'cookie.txt\');  

  19.    

  20. // 登入  

  21. curl_setopt($ch, CURLOPT_URL, \'http://www.plurk.com/Users/login\');  

  22. curl_setopt($ch, CURLOPT_POSTFIELDS, \'nick_name=\' . NICKNAME . \'&password=\' . PASSWORD);  

  23. curl_exec($ch);  

  24.    

  25. // 貼文  

  26. curl_setopt($ch, CURLOPT_URL, \'http://www.plurk.com/TimeLine/addPlurk\');  

  27. curl_setopt($ch, CURLOPT_POSTFIELDS, \'qualifier=says&content=\' . urlencode($message) . \'&lang=tr_ch&no_comments=0&uid=\' . USER_ID);  

  28. curl_exec($ch);  

  29. curl_close($ch);  

  30. ?>  



/**
* 透過 PHP + cURL 發噗
*
* @author: Vexed
* @see: http://blog.xuite.net/vexed/tech/22023458
*/
define(\'NICKNAME\', \'abc\'); // 就是帳號
define(\'PASSWORD\', \'iamabc\'); // 就是密碼
define(\'USER_ID\', \'123456\'); // 登入後,在 HTML 原始碼裡找到 user_id 對應的值

$message = \'我是用 PHP + CURL 寫的機器人~\';

$ch = curl_init();

// 產生 Cookie ,以便記住登入後的 Session
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, \'cookie.txt\');
curl_setopt($ch, CURLOPT_COOKIEFILE, \'cookie.txt\');

// 登入
curl_setopt($ch, CURLOPT_URL, \'http://www.plurk.com/Users/login\');
curl_setopt($ch, CURLOPT_POSTFIELDS, \'nick_name=\' . NICKNAME . \'&password=\' . PASSWORD);
curl_exec($ch);

// 貼文
curl_setopt($ch, CURLOPT_URL, \'http://www.plurk.com/TimeLine/addPlurk\');
curl_setopt($ch, CURLOPT_POSTFIELDS, \'qualifier=says&content=\' . urlencode($message) . \'&lang=tr_ch&no_comments=0&uid=\' . USER_ID);
curl_exec($ch);
curl_close($ch);
?>



然後就是發揮你的創意去更新 $message 裡的內容囉~



機器人的類型: 機器人目前我知道的有兩種,一種是定時發噗,一種是看發噗者輸入的內容,然後產生一些相關的回噗。



定時發噗就是利用 crontab (排程執行) ,這個需要自己有伺服器來做這件事。而這種機器人要特別小心,不要一次發出太多訊息,不然會被 Plurk 的防洪機制擋住。



會回噗的機器人則是去解析發噗者該噗的內容,找到關鍵字後加以處理,然後回噗在該噗上。這樣的機器人也分成兩種,一種是需要將它加入朋友的,一種則是它自行尋找 Plurk 的所有內容 (也就是全世界) 。



所以上面的基本原理瞭解之後,我們就可以依照自己的需求與創意,去打造屬於自己的機器人囉~



http://www.blueshop.com.tw/board/show.asp?subcde=BRD20120127091305KRL&fumcde=FUM20041006152627A9N
http://phorum.study-area.org/index.php?topic=45874.15;wap2
http://blog.longwin.com.tw/2008/05/php_get_login_cookie_2008/



  • 贊助網站       

    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務
    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!



  •  共 0 人回應

    姓名:
    佈告內容: