Home > サービス

サービス Archive

Wordpressを使っておすすめ記事をレコメンドするTwitterBotを作ってみた - NoTechnoNoLife

haseco氏になんとなくあったら面白いかも!と言われたのでサイトの宣伝がてらに作ってみました。
基本的な機能は、

「@NoTechnoNoLife 宛にキーワードをポストすると、そのキーワードからNoTechnoNoLifeを検索し、オススメの記事をレコメンドするbot」

ですっ!

それっぽく動けばいいや〜と思っていたのですが、いろいろ作っていると面倒なことがちょいちょいあったのでここにメモとして残しておきます。

WordpressにJSONを返すAPIを作成したい!っが・・・

まずはキーワードを元に、該当する記事のタイトルURLを返すAPIを作ります。
はじめ、テーマのディレクトリに適当な名前でphpファイルを置いて、/hoge.phpでアクセスしてみたんですがうんともすんとも言わないので、
MTみたいにデザインのテンプレートにファイルを追加するだけでは作れないんだと分かりました。

必要な作業は、

  • 新規ページの作成(これがAPIのURL)
  • テンプレートにphpファイルを追加(検索機能)

ぐらいです。
もっと他によい方法があるのかもしれませんが、今回はとりあえずこんな感じで行きますよー!

(以下、僕が作成した環境になりますので、適宜自分の好きなファイル名や文言などに置き換えて読んでください。)

Wordpressのテーマディレクトリに.phpファイルを配置する

自分のサーバーのテーマディレクトリに「recommend_entries.php」というphpファイルを作成します。
中身は以下のようにしました。

このTemplate Nameが次のステップのページを作成するときに洗濯するテンプレート名になります。

Wordpressのページを新規作成する

次にAPIとして提供するためのページ(URL)を作成します。
管理画面の左側ペインから「ページ」→「新規作成」で新規作成ページを開きます。

タイトルに「Recommend Entries」と入力して、
属性という表示項目のところのテンプレートを、さきほど作成したテンプレートを指定する。

ページを編集 ‹ NoTechnoNoLife, フェティッシュな情報をあなたに -- WordPress-1.jpg

これでAPIとしての準備はできた!
あとはコーディングだ。。。

記事をレコメンドするphpファイルを書いてみる

このphpファイルがAPIの機能を主に担う。
ここで重要なのが、あるキーワードがこのAPIに投げられたら、そのキーワードを元に本来Wordpressが持っている検索処理を走らせないのだが、
GETパラメータに「s=ほげ」としてしまうとsearch.phpが呼ばれてしまい、このphpファイルが呼ばれない。
これはおそらくWordpressが内部的にこのパラメータがある場合はこのphpとかやってるんでしょうね。

よって、「s」というパラメータは使えないので、今回は「re」を使う。
reを使うんですが、検索機能を使うためにはsにキーワードを入れる必要があるので、結果的に以下のようになった。

さらにちょっとややこしかったのが、Wordpressは特殊文字を実体参照に変換するっぽいので、記事のタイトルに「-(←ハイフン)」があると「–」に変換されてしまう。
なのでmb_decode_numericentity関数を使って復元している。(PHPあまり分からないのでこれで合ってるのかな。。。)

APIのソースコード

json_encode関数の存在を知らなかったので、普通にJSONを組み立ててたらパースできなくてすごいハマった。。。

テンプレートを参考にすると、the_titleやthe_permalinkなんてタグを見かけるんですが、これは中でechoしているので今回は使えません。
代わりに、get_the_titleget_permalinkを使って取得しています。

この辺のタグについては以下のページが参考になります。
テンプレートタグ - WordPress Codex 日本語版

■GitHub
gist: 612770 - GitHub

Replayを元にオススメするTwitterBotを作る

APIは出来たのであとはbotだっ!(botはRubyで書いてみました。)

twitterというモジュールを使っています。
ちょっと補足として、replayの取得はTwitter::Base.mentionsメソッドを使って取得するんですが、twitter0.7.0にはこのメソッドがないみたいなのでtwitter0.8.0以降をお使いください。

twitterに関しては以下に詳しく書かれています。
Greenbear Laboratory - Ruby Twitter Gem簡易リファレンス

それと事前にTwitter / アプリケーションを登録でbot用にアプリ申請をしておく必要があります。
これをしないとOAuthが使えないので。

TwitterBotのソースコード

5分前よりも後にreplayされていたら、そのtweetからキーワードを抽出して(正規表現分からなかった...)WordpressのAPIに投げ、結果をつぶやく。

■GitHub
gist: 612998 - GitHub

ちなみにcronは5分毎に実行されるように設定しています。
なのでリアルタイム性はちょっと弱いですね。。。

今は単語だけですが、MeCabなどの形態素解析を使って文章の中からキーワードを引っ張り出して検索しても面白いかもしれません。
Rubyで形態素解析してみた - unnecessary words

(サイトに行って検索テキストボックスにキーワード入力すればいいんじゃない?って言わないでくださいね!)

また一つ無駄なものを作ってしまった...

今回の作品

もしよければフォローしてくださいな。
NoTechnoNoLife (NoTechnoNoLife) on Twitter

■参考リンク
僕とヒロムとWEB戦争 » WordPressで従来型のページ作成
Character entity references in HTML 4
WordPress ページテンプレートについて - tail -f /var/log/こうちかずお.log

こくばんで描かれるタモリさん

追記:
サーバーが重いときにOnLoadがいつまで経っても始まらなかったので、続きに移動しました。

Continue reading

Flickr Proの支払いでエラーが出た

そろそろProにして1年が経つので契約をアップデートしようとしたら、いくらやっても以下のエラーが出て契約確定できなかった。

Sorry, there is a temporary problem. Please try again later. If the problem persists, please contact Yahoo! Customer Care.

とりあえずyahoo.comに行って、ログインしてみたら当分ログインしていなかったのでどうやらアカウントが無効?になっていたみたい。
Flickrにはログイン出来てましたが・・・

再度契約ボタンを押しても、また同じエラーが出てきた。
ちょっとうんざりしていたら、思い出した!


クレジットカードが新しくなったのを。
なのでアカウントからクレジット情報を修正したら、あっけなく引き続きProのアカウントを購入できた。

英語だから雰囲気で読んでたのがいけないのかもしれないが、こうゆうのって意外とハマる。

JSON同士を比較できるWebサービス - JSON Diff

JSON Diff

AjaxでJSON形式を扱うときに、デバッグとして使えるかもしれない。特にボリュームの大きいJSONならその効力は絶大だと思います。

JSON同士を比較できるWebサービス - JSON Diff

使い方は簡単で2つのJSONを入力し、「Compare」ボタンを押すだけ。
すると画面の下のほうに比較し色付けまでしてくれた状態で表示されます。

[via]
Ajaxian

Twitter、Mozilla、Flickrなどなどのオフィスの写真

めちゃめちゃ見たかった写真がずらり。
普段ボクらが使っているサービスを作ってる会社さんのオフィスが見れるなんてなんだか楽しい。
最近ではオフィスもこだわった会社が日本でも多くなってきて、きっと仕事もそうだけど、どんだけ楽しい環境で仕事ができるかがその会社に入りたい度を増すと思う。

気になった写真をピックアップしてみました。

■Twitter

Twitter、Mozilla、Flickrなどなどのオフィスの写真
おお!オサレな感じだな~。
しかも机が広い。こりゃ快適だわ。

Twitter、Mozilla、Flickrなどなどのオフィスの写真
やっぱりMacなのねん。
ボクもMacで仕事がしてみたい。

続きで他にもピックアップしています。

Continue reading

Yahoo!Pipesで自分のFlickr写真を検索してみた

Yahoo!Pipesで自分のFlickr写真を検索してみた

Yahoo!Pipesはすばらしいマッシュアップサービスだと思う。前にMSマッシュアップ用ツールサービス「Popfly」を使ってみた - HouseTectで紹介したサービスと同じようなUIでWebサービスを加工することができる。

よく例に使われているのはあるブログとあるブログの2つのRSS Feedを統合してTitleでソートすることができる。それで何が楽しいの?と言われそうだが多数のブログを持つブロガーが、自分の持つブログすべてのRSS Feedを一つにまとめて配信すれば見るほうも楽チンで喜ばれるかもしれない。

でもブログのRSS Feedはどうやらまだ日本語対応されていないようです。↑の画像の下のほうがRSS Feedの表示ですが、英語のTitleは表示されているが日本語は全滅・・・

Yahoo!Pipesで自分のFlickr写真を検索してみた

これだと楽しくないのでFlickrとマッシュアップしてみました。

Continue reading

オライリー Makerがメチャメチャ面白い

O'Reilly Makerがメチャメチャ面白い

いつか出てくるとは思っていたけど、面白いな~。
なんて適当にジェネレートしちゃったけどそれもまた良し。

O'Reilly Maker - Create a funny book cover!

flickrの写真を名刺にできる「MOO」が割引してたので注文した

flickrの写真を名刺にできる「MOO」が割引してたので注文した

Going My Wayさんのところで割引について紹介されていたのでついつい注文してしまった。

前にも注文しようとしたことがあったんだけど、そのときはflickrにアップロードした枚数が少なくて選びきれなかったので、やっとある程度溜まった今がチャンスということで注文。

MOOのサービスでは名刺のほかにもポストカードやシールなんかも作れちゃう。しかも結構安い。

100 mini calling-cards made with photography or design: $19.99

via: MOO.com | MiniCards

約20ドルくらいですね。
それと送料を合わせて割引率の10パーセント引いた額が支払いのお値段。
ボクは名刺と名刺入れ(赤)もセットで購入したので30ドルちょいでした。

flickrの写真を名刺にできる「MOO」が割引してたので注文した
この名刺入れが何気にほしかった一品。
フェルト地で出来ているので手触りもよさそう。6.99ドルなのでflickrの写真のお供にはもってこいですね。
さぁこれでいつでもオフ会に行けるぞw

あとはフリーで動いていると自分個人の名刺がないので、それもかねて作ってみました。

到着が楽しみ~。

以下に割引の仕方が書いてあります。
Going My Way: moo.com から日本向けにバレンタインプレゼント。moo Minicard が 1/31 までの注文で 10%引き

MOO.com | We love to print

Twitterオフに使えるTwitterネームテンプレート

Twitterオフに使えるTwitterネームテンプレート
パーティの名前、メンバーのリストを入力してSubmitすればTwitterネームプレートの出来上がり。
PDF化されているので、ダウンロードしてから印刷ですな。

Twitter Card

はてなハイクで遊んでみた

「はてなハイク」正式公開 3日で1万近い書き込み - ITmedia News
はてなハイクがやっと正式に公開されたようです。やった~。
beta版のときは一足遅れてアカウントとれなかったもので・・・

とりあえず書いてみた。
はてなハイクで遊んでみた

すいません、プルップルです。

ちょいちょい書いていきますw
hisasann - はてなハイク

ブログに手軽なリボンを付けられるサービス「Website Ribbon」

ブログに手軽なリボンを付けられるサービス「Website Ribbon」 ブログに手軽なリボンを付けられるサービス「Website Ribbon」
さっそくNoTechnoNoLifeこっちとDigitalGrounder.COMこっちに付けてみた。

これはいいですね。
手軽にリボンを付けれるし、装飾という観点でなんか楽しい。
このイメージはリンクにもなっているので、双方のブログをリンクし合う感じにしてみました。

ブログをちょっといじりたいな~と思っている人はこのサービスを試してみるのもいいかもしれません。

Free Website Ribbon Generator - For Your Site Or Blog

[via]
100SHIKI.COM

いまさらながら脳内メーカーをやってみた

いまさらながら脳内メーカーをやってみた
hisasannの脳内
ほんといまさらだけど・・・

結果はが大半を占めている(笑)

たしかにDigitalGrounder.COM(デジタルグラウンダー), 海外のニッチな情報ブログこんなブログやNoTechnoNoLife, 海外のテクノな情報ブログこんなブログをやっていれば秘の部分が多いのは頷ける。

脳内メーカー

Flickrをプロアカウントにしてみました

Flickrをプロアカウントにしてみました
見てるだけで楽しいFlickrはボクが日々チェックする写真サイトですが、今まで無料アカウントだったので200枚しかアップロードできないという縛りがありました。
なんかずうっと使う気がするFlickrだけに、プロアカウントに加入してみました。

お陰で胸につかえていた何かが消えたような気がする。
これで思う存分2GBまでアップロードし続けようっと。

以下のサイトを参考にさせてもらいました。詳しく画像付きだったので分かりやす~い。
stone::tamaki: flickr pro account

以下ボクのFlickrです。お見知りおきを。
Flickr: Photos from hisasann

あとトップの上あたりにFlickrの写真をランダムに表示するようにしました。
Flickrの写真をランダム表示するには? - #BLOG

梅田望夫氏、茂木健一郎氏対談「フューチャリスト宣言」を読んだ


なんと言うか衝撃的だった。
実際まだ梅田望夫氏のWeb進化論は読めていないのだが、まずはフューチャリスト宣言から読んでみた。

この本の楽しいところは梅田望夫氏と茂木健一郎氏の対談が一冊の本になった感じでとっても読み易い。
そしてこのお二人のお話はついつい朝方までかかっても読んでしまいたいほど、魅力のある話をされていて本当にバイブルになった。恐らくWeb進化論もそうなるだろうが。

お二人ともGeekなネットヘビーユーザーだからこその意見。Googleに対しての意見、はてなからのメッセージなど、本当にこっちが好きな人には堪らないないようになっている。
いつまでも応援していたいお二人です。プロフェッショナル今日も見ましたよ。茂木さん!笑

【関連リンク】
茂木健一郎 クオリア日記
My Life Between Silicon Valley and Japan

【関連の本】

ライブドアリーダーをこよなく愛するようになった1つの理由

あなたがライブドアリーダーにスイッチする3つの理由。でライブドアリーダーの良さがうまくまとまっていました。

ここ最近見るブログが多くなってきて、それを午前中にざっと読むのは結構骨が折れる作業。とくにお気に入りのブログをいちいちブクマして、その場合もフォルダ分けしなきゃいけないしね。
それがあまりにも面倒だし、ブラウザのブクマをマシンごとに共有するのもバカらしい作業だと思っていた。
まぁFirefoxのプラグインで同期化はしているが、やっぱりブログを1個ずつ開くのは面倒な作業といえる。

RSSリーダーはもともと使っておらず、使ったとしてもはてなRSSを使っていたといった感じ。
別にはてなのRSSリーダーでも問題はないのだけど、livedoorのリーダーは不便なRSSフィードの管理やインターフェースも優れてい、最近流行ってるブログなどもリストアップされていて便利すぎるから、ついつい3ヶ月ほど前に乗り換えてしまいました。

今では仕事場について1時間くらいはフィード眺めて、技術的に面白いのははてブするといった感じで落ち着いてきた。
あんまりやってると怒られそうだがね。笑

ここでボクがlivedoorリーダーの最もすぐれている点を思えるのは、上記URLでの紹介されているが、携帯からみれるのと、ピンをつけて後でPCから気になった記事をじっくり読めること。
だから電車の通勤とかで、気になった記事を見つけては、自宅などで後でチェックする。
便利すぎる!

みなさんも是非livedoorリーダーを使ってみて、その便利さを体感してみるのもありだと思う。

【関連リンク】
livedoor Reader - RSSリーダー
はてなブックマーク - ソーシャルブックマーク

nanacoを使い始めてみた

nanacoを使い始めてみた
見た目もかわいいnanacoを先日セブンイレブンで購入してみました。
購入ってことは買うの?と思われる方もいるかと思いますが、買います!笑

300円掛かりましたが、今なら初期ポイントサービスとして200ポイント付いてくるので100円で購入ということになりますね。

うちの近所にはセブンイレブンが結構あるので、雑誌とかを買いに行ったときはnanacoで買います。
チャージしつつ購入するので、店員さんとしてはちょっとウザがってるかもしれないけど、まぁそれぐらい許して頂戴。
ちなみにnanacoを読み取り機にあてがうと「パラッポロッ」みたいな音がしてかわいい。
あの音は他のサービスにはない音だから、翳してみたくなっちゃう。

今後他のお店でも使えるようになれば便利だな~。
それに期待します。

電子マネー nanaco

Home > サービス

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top