部門 > PHP > RSSを読んでTwitterに投稿する

「部門/PHP/RSSを読んでTwitterに投稿する」の編集履歴(バックアップ)一覧はこちら

部門/PHP/RSSを読んでTwitterに投稿する」(2012/06/06 (水) 00:44:44) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

東大物理学専攻の講義情報のRSSを http://www.s.u-tokyo.ac.jp/ja/current/lecture.html?department=grad-phys から取ってきて、Twitterに投稿するbot(というほどでもない)を4月につくったのだけど、 http://twitter.com/#!/utphys twitterfeedやGoogleのなんとかとかを使おうとしてもうまくいかないので、仕方ないから自分で書いた。なぜか使い慣れたRubyではなく、PHPで書いてみた。まあGoogle先生に聞いてコピペしただけだが。 -Oauth認証には[[abraham/twitteroauth · GitHub>https://github.com/abraham/twitteroauth]]を使わせていただいて、Twitterへの投稿の部分は[[PHP+OAuthでTwitter - SDN Project>http://www.sdn-project.net/labo/oauth.html]]から頂きました。 -重複して同じエントリーを投稿しないよう、guidを取得してguid.txtというファイルに書き込んでる。 *ソース #highlight(PHP,linenumber){{ <?php // twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください require_once("abraham-twitteroauth-052b55e/twitteroauth/twitteroauth.php"); // Consumer keyの値 $consumer_key = "こんしゅーまーきー"; // Consumer secretの値 $consumer_secret = "こんしゅーまーしーくれっと"; // Access Tokenの値 $access_token = "あくせすとーくん"; // Access Token Secretの値 $access_token_secret = "あくせすとーくんしーくれっと"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); $out_file =fopen("guids.txt","a+"); $i=0; $guid=array(); $title=array(); $desc=array(); $rssdata = simplexml_load_file("http://www.s.u-tokyo.ac.jp/feed/lecture.xml?department=grad-phys"); foreach ($rssdata->channel->item as $rssrow) { // print "【"; // print $rssrow->title; // print "】"; // print $rssrow->description; // print "http://www.s.u-tokyo.ac.jp/lecture/index.html\n"; $guid[$i] = "$rssrow->guid"; $title[$i] = "$rssrow->title"; $desc[$i] = "$rssrow->description"; $i=$i+1; } // var_dump($guid);//配列の中身を表示 $i=0; while (isset($guid[$i])){ while ($guid[$i] != NULL){ // var_dump($guid[$i] rewind($out_file);//ファイルポインタを最初に戻す http://www.standpower.com/php_analyz.html while (!feof($out_file)){ $fileline = fgets($out_file); // print "$fileline"; // print "$guid[$i]\n"; if ($fileline == "$guid[$i]\n"){ // print "break!!\n"; break 1; } if (feof($out_file)){ fputs($out_file,"$guid[$i]\n"); $req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"【$title[$i]】$desc[$i] http://www.s.u-tokyo.ac.jp/lecture/index.html")); } } $i=$i+1; } fclose($out_file); ?> }} *参考にしたサイト -[[PHP+OAuthでTwitterのBotを作ってみる - SDN Project>http://www.sdn-project.net/labo/twitter_bot.html]] #right(){(OK)} #comment_num2(below,num=10)
東大物理学専攻の講義情報のRSSを http://www.s.u-tokyo.ac.jp/ja/current/lecture.html?department=grad-phys から取ってきて、Twitterに投稿するbot(というほどでもない)を4月につくったのだけど、 http://twitter.com/#!/utphys twitterfeedやGoogleのなんとかとかを使おうとしてもうまくいかないので、仕方ないから自分で書いた。なぜか使い慣れたRubyではなく、PHPで書いてみた。まあGoogle先生に聞いてコピペしただけだが。 -Oauth認証には[[abraham/twitteroauth · GitHub>https://github.com/abraham/twitteroauth]]を使わせていただいて、Twitterへの投稿の部分は[[PHP+OAuthでTwitter - SDN Project>http://www.sdn-project.net/labo/oauth.html]]から頂きました。 -重複して同じエントリーを投稿しないよう、guidを取得してguid.txtというファイルに書き込んでる。 *ソース #highlight(PHP,linenumber){{ <?php // twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください require_once("abraham-twitteroauth-052b55e/twitteroauth/twitteroauth.php"); // Consumer keyの値 $consumer_key = "こんしゅーまーきー"; // Consumer secretの値 $consumer_secret = "こんしゅーまーしーくれっと"; // Access Tokenの値 $access_token = "あくせすとーくん"; // Access Token Secretの値 $access_token_secret = "あくせすとーくんしーくれっと"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); $out_file =fopen("guids.txt","a+"); $i=0; $guid=array(); $title=array(); $desc=array(); $rssdata = simplexml_load_file("http://www.s.u-tokyo.ac.jp/feed/lecture.xml?department=grad-phys"); foreach ($rssdata->channel->item as $rssrow) { // print "【"; // print $rssrow->title; // print "】"; // print $rssrow->description; // print "http://www.s.u-tokyo.ac.jp/lecture/index.html\n"; $guid[$i] = "$rssrow->guid"; $title[$i] = "$rssrow->title"; $desc[$i] = "$rssrow->description"; $i=$i+1; } // var_dump($guid);//配列の中身を表示 $i=0; while (isset($guid[$i])){ // while ($guid[$i] != NULL){ // var_dump($guid[$i] rewind($out_file);//ファイルポインタを最初に戻す http://www.standpower.com/php_analyz.html while (!feof($out_file)){ $fileline = fgets($out_file); // print "$fileline"; // print "$guid[$i]\n"; if ($fileline == "$guid[$i]\n"){ // print "break!!\n"; break 1; } if (feof($out_file)){ fputs($out_file,"$guid[$i]\n"); $req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"【$title[$i]】$desc[$i] http://www.s.u-tokyo.ac.jp/lecture/index.html")); } } $i=$i+1; } fclose($out_file); ?> }} *参考にしたサイト -[[PHP+OAuthでTwitterのBotを作ってみる - SDN Project>http://www.sdn-project.net/labo/twitter_bot.html]] #right(){(OK)} #comment_num2(below,num=10)

表示オプション

横に並べて表示:
変化行の前後のみ表示: