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

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

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

基本原理

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

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

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

  1. <?php  
  2. /** 
  3.  * 透過 PHP + cURL 發噗 
  4.  * 
  5.  * @author: Vexed 
  6.  * @see: http://blog.xuite.net/vexed/tech/22023458 
  7.  */  
  8. define('NICKNAME''abc'); // 就是帳號  
  9. define('PASSWORD''iamabc'); // 就是密碼  
  10. define('USER_ID''123456'); // 登入後,在 HTML 原始碼裡找到 user_id 對應的值  
  11.    
  12. $message = '我是用 PHP + CURL 寫的機器人~';  
  13.    
  14. $ch = curl_init();  
  15.    
  16. // 產生 Cookie ,以便記住登入後的 Session  
  17. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  18. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');  
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');  
  20.    
  21. // 登入  
  22. curl_setopt($ch, CURLOPT_URL, 'http://www.plurk.com/Users/login');  
  23. curl_setopt($ch, CURLOPT_POSTFIELDS, 'nick_name=' . NICKNAME . '&password=' . PASSWORD);  
  24. curl_exec($ch);  
  25.    
  26. // 貼文  
  27. curl_setopt($ch, CURLOPT_URL, 'http://www.plurk.com/TimeLine/addPlurk');  
  28. curl_setopt($ch, CURLOPT_POSTFIELDS, 'qualifier=says&content=' . urlencode($message) . '&lang=tr_ch&no_comments=0&uid=' . USER_ID);  
  29. curl_exec($ch);  
  30. curl_close($ch);  
  31. ?>  
<?php
/**
* 透過 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 的所有內容 (也就是全世界) 。

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

LoveTotally 發表在 痞客邦 PIXNET 留言(0) 人氣()