Subcribe via RSS

[PHP] twitterのRSSからreplyを取り除く

2012/1/8 | Posted in php, twitter

twitterのRSSを自分のウェブページに表示していたのですが、そのままだとつぶやきもリプライ(mention?)もすべて表示されてしまいます。

なので、正規表現でリプライだけ取り除いて表示するようにしました。
RTはそのまま表示してます。

require_once 'lib/rss_fetch.inc';

$twit_feed = 'http://twitter.com/statuses/user_timeline/********.rss';
$twit_rss = fetch_rss($twit_feed);

$max = 20;
$cnt = 0;

echo "<ul>";
foreach($twit_rss->items as $item){
  $cnt++;
  if($cnt > $max)break;
  $title = htmlspecialchars($item['title']);
  if(preg_match("/^tjun: @/", $title))continue;
  $url = htmlspecialchars($item['link']);
  echo "  <li><a href=\"$url\">$title</a></li>\n";
}
echo "</ul>";

リプライを取り除くのは以下の部分です。
  if(preg_match("/^tjun: @/", $title))continue;
tjunは、自分のtwitterのユーザ名です。先頭が “ユーザ名: @” であれば、リプライと判定してます。


久しぶりにPHP書きました。
一応正しく動いているように見えますが、何か間違ってるかもしれません。




Tags: ,

twitter, google, facebookにおけるデータ処理に関する記事

2011/12/10 | Posted in cloud, web

ちょっと最近調べてたことのまとめ。
twitter, google, facebookの技術の話を見てました。
またいいのがあれば追加していきます。








Tags: , , ,

Stormをlocalmodeで実行する

2011/11/18 | Posted in cloud, storm

stormについては

を参照してください。

今回は
の続き。

localmodeで実行ということは、stormのnimbusやsupervisorといった分散のための仕組みを利用せずに、とりあえずstormのプログラムを動かしてみる、というものです。


storm-starterのダウンロード


サンプルコードをダウンロードします。
nathanmarz/storm-starter – GitHub
$ git clone git://github.com/nathanmarz/storm-starter.git

eclipseに読み込む

前回作成途中だったJava projectにサンプルのプログラムをimportします。

projectの src に import > general > FileSystem で先ほどダウンロードした storm-starterのしたの storm-starter/src/jvm/storm を”From Directory”に指定して、”Create Top-level folder”にチェックを入れます。

次に、project のトップに storm-starter/multilang/resoucesをimportします。



こんな感じになるはず。

Storm starter

ここでエラーが出ている場合、stormが最新版じゃない可能性があります。


JARをexport

そして、このprojectをJARファイルに固めます。

Export > Java > JAR fileから、StormStarterプロジェクトを.classpathや.projectを除いてJARにします。


warningが出るけど気にしない。


実行

今作成したJARファイルをstormで実行します。
前回の準備で正しくpathが通っていればstormコマンドが利用できるはずです。
(うまく動かない場合はpermissionなどを確認してください)
$ storm jar StormStarter.jar storm.starter.ExclamationTopology

これで、ダーッと文字が出て、したのようにビックリマークがついた単語が出ていれば成功です。
ExclamationBoltのemitのログが表示されています。
....
11367 [Thread-25] INFO  backtype.storm.daemon.task  - Emitting: class storm.starter.ExclamationTopology$ExclamationBolt source: 2:3, stream: 1, id: {}, [golda!!!]
....

twitterのstreamを使うTopologyは例えば、
$ storm jar StormStarter.jar storm.starter.PrintSampleStream [username] [password]
のようなものがあります。

今回使ったstormコマンドは、
storm jar [jarファイル] [メインクラス] (引数…)
のようにjarを指定してTopologyの実行を行いました。

他のTopologyも同様に動くと思いますが、wordcountは環境によってはうまく動作しないかもしれません。


以上で、localmodeでstormのプログラムを動かすことが確認できました。


参考




Tags: ,

独自ドメインの短縮URLを使う

2011/6/19 | Posted in web

最近bitlyのPRO機能が無料になりました。
Bitly Pro機能が無料に―独自ドメイン名で短縮ができる

これで自分のドメインがあれば、それを使って独自の短縮URLが使えます。

こんな感じ

http://z.tjun.jp/cdomain

スラッシュ以下を好きな文字列にすることもできます(これは元からかも)



ここでは、さくらインターネットで取得したドメインの場合の設定を紹介します。


bit.lyの設定

Bitly設定ページから、「Modify Custom Short Domain Settings」をクリック。

これで、独自ドメインを設定できるので、自分の場合は持っていたtjun.jpというドメインのサブドメインで、適当にz.tjun.jpにしました。

さくらインターネットの設定

次にさくらインターネットの会員メニューから「契約情報」のタブを選んで、「ドメインメニュー」を選択します。



そこから、設定したいドメインの「ゾーン設定」の変更を選択して、サブドメインとそのCNAME、そして値を入力します。値には、cname.bitly.com.を入れます。最後のcomの後ろにもドットがつくので注意。



これで、左のほうのメニューにある「データ送信」をクリックして、設定が反映されるのを待ちます。
(結構時間がかかると思います。)

で、bitlyの方でそれが確認出来れば、下の図のように独自ドメインが選択できるようになります。

ここで設定して、twitterクライアントなどからAPIを叩けば反映されているのが分かります。
もちろん今までと同じようにクリック数などを見ることもできます。

追記
でもなんか恥ずかしいので自分は結局もとのbit.lyドメインに戻しました。
設定を元に戻しても反映されるのにすごく時間がかかるから注意




Tags: ,

Rubyでtwitter, facebook, instagramなどの認証

2011/6/4 | Posted in ruby, twitter

最近のソーシャルなサービスをアプリケーションと連携するには、Oauthで認証する必要があります。
これを自分で全部やるのは結構大変なので、ライブラリを使います。

RubyでOauthを使う場合、Omniauthというライブラリが便利です。
更新がこまめにされていて、対応できるサービスもtwitterをはじめgithubやlinkedinなどたくさんあり、instagramなどの新しいサービスにも対応できます。

使い方を紹介するのがちょっと大変なので、参考になりそうなサイトのリンクを貼っておきます。




Tags: , ,
  • 書いてる人:

    Junichiro Takagi
    高木潤一郎

    http://tjun.jp
    mail@tjun.jp

    未踏でクリエータやってました。メーカーでエンジニアやってます。
    このブログは、会社とは関係なく個人の意見を書いています。

    RSS:


  • friendfeed: