« のだめカンタービレ in ヨーロッパ | メイン | マッシュアップページを作ってみる その2 »

Topホームページ作成マッシュアップ > マッシュアップページを作ってみる その1
2008年01月07日

マッシュアップページを作ってみる その1

Web APIとか使ってなんかやってみたいなぁと思い、やっぱりそうなりゃ今流行りのマッシュアップ(Mash up)だろうという事で、この年末年始はまっていました。

とりあえず、目指してみたのは、こんな事をやる事。

要は、GoogleとYahoo!,live Searchの検索結果から検索順位を表示するってやつ。

とりあえず、phpベースで作ってみる事に決めた。せっかく、自宅サーバーをphp4環境にしたんで、最初はphp4ベースでやってみる予定だった。
まずは、Googleの検索結果の取得からだが、最初は「Google SOAP Search API」を使う予定だったが、既に廃止になっていたらしく、後継の「Google Ajax Web Search API」を使えという事らしかった。

 「Google SOAP Search API」のWebサイトでは5日以降、新しいAPIが発行されないことが明言されている。既存のAPIは今まで通り使用できるとのこと。

[ CodeZine:ひっそりと廃止になったGoogle SOAP Search API(API, google) ]

でも、「Google Ajax Web Search API」は思った事が出来そうにない、1回あたりの検索件数に限りがあるし、最大件数も少ない。language指定がない~Google.comの検索になってしまうのも困ったところでした。まだ、これから拡張していくんで、そのうちもっと使えるものになるのかもしれないれど、今回はGoogleだけはAPIの使用を諦めました。

という訳で、じかにGoogleの検索をしてHTMLを解析する事にしました。まずは、以下のページを参考にしてGoogleの検索を行なってみる事にした。

そのまま、コード使えば難しい事じゃなかったんだが、なんせphp4環境という事で手間取りました。あれこれ調べまくってphp4ベースで同じ事を出来るようにするところまでいきました。
だが、結局やめました。live searchのAPIはSOAPだったし、なんだかんだでphp5ベースの方が楽そうだなという結論に達したので、あらためて以下のサイトを参考にphp5をphp4と共存させる事にしました。

ここでもはまりました。CGI版としてphp5をコンパイルしたのだけれど、出来上がったphp5コマンドで動かそうとするとうまくいかない。結局、/usr/local/php5/binに出来ていたphp5-cgiにシンボリックリンクを張ってphp5として動作させたらちゃんと動くようになりました。これは、これでいいのかな?

あらためて、Googleの検索からhtmlを解析して、結果を取得する処理をphp5で書きなおしました。さらに、検索結果をPear_liteを使ってキャッシュさせておくところまで作ってみました。
ちなみに、Googleの検索結果のHTMLをそのままloadHTMLで読もうとしたら、うまく解析できなくって、HTMLをXMLに整形しなおすクラスを途中で使いました。参考にしたページは以下の通りです。

長くなったので、続きは次回へ。

人気ブログランキング ←押すと一票入ります。


関連エントリー

つまらん日記内の関連するエントリー:1件

トラックバックURL

このエントリーのトラックバックURL:

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • エントリーとあまりにも無関係な記事のトラックバック、または管理人が不適切と判断した場合は、削除させていただきます。
コメントする
  • 電子メールアドレスは必須ですが、表示されません
  • コメント蘭内でタグが使えます。
  • コメント欄内の改行はそのまま改行となります
  • コメント欄には、少なくとも1文字以上の日本語全角文字を入力してください

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)