ブログパーツ


マッシュアップページを作ってみる その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. コメントはありません
(公開されません)


  1. トラックバックがありません。