2005年07月01日

phpでseesaaのサイト一覧を作る このエントリーをはてなブックマークに追加

以前、 Google Sitemaps について記載したが、いちいち手動で作るのは面倒であると思った。自分のサイトに記事が多くなればなるほど管理が大変である。
りょーちの場合は何の脈絡もなく書き連ねているのでどうも酷いことになっている気がする。
で、seesaa blog でも Google Sitemaps を動的に生成したいという野望の元に、いろいろ考えていたが、なんとなくできそうな予感がしている。しかしこれは seesaa の機能を利用するのではなく、php の script を書いて、seesaa のURLを渡せば Google Sitemaps 用のクローラ用XMLファイルを動的に生成しちゃうようなものを作るということである。
Google Sitemaps の XMLの仕様を今ひとつよく読みこめていないのだが、基本はサイト内にある全てのURLをリストにするということのようである。
なので、先ずは、seesaa blogの所定のサイトの全てのURLリストを取得するよーなプログラムを作ってみた。
以下そのレシピ。

必要なもの:
・Webサーバ
・php5.0以降
 ・tidy関数2.0とcurl(Client URL Library)関数が利用できること
  tidyについては下記URLを参照
   http://php.s3.to/man/ref.tidy.html
  curlについては下記URLを参照
   http://php.s3.to/man/ref.curl.html

Windowsユーザの人で自分のマシンで手っ取り早く試すには、apache friends - xampp for windows をダウンロードするのがよい。
インストールの方法は XAMPP - 開発環境一括インストール - phpspot あたりに事細かに書いてある。

で、無事インストールしたら、下記のプログラムを利用すればよい。

ソースのみ公開したのは、りょーちが借りているレンタルサーバではtidy2.0とcurlが利用できないのであった。なので、ソースのみなのだ。
ソースを見てもらうとわかるのだが、たいしたことはやってない。
一応コメントらしきものは書いてみた。

で、XAMPP上で上記プログラムを走らせて見た結果が こちら である。

まあ、ちょっと無理矢理なのだが・・・
今は分かりやすくHTMLにリンクを貼って表示させているが、phpの書き方でGoogle SitemapsのXML形式で吐き出すこともできるであろう。

あとは野望としては、pingを送るような感じで記事が追加されたら動的にGoogle Sitemapsを吐き出すようなプログラムを(誰か)作ってくれるのではなかろうか?

WindowsでXAMPPとかをインストールして是非やってみてください。不具合があれば報告若しくは修正したものをいただけるとありがたいです(^^;

ちなみに、php5.0とtidy2.0とcurlが利用できるフリーのサーバをご存知な方がいらっしゃれば教えていただきたいです。
よろしくです。
posted by りょーち | Comment(1) | TrackBack(0) | Web周辺技術