- 2008年2月12日 04:21
- つくる
古いサイトのリニューアルなんかだと、過去のデータ資産がDB化されていない場合がよくあって、しかたなく既存サイトのデータを無理やり整形したりとかするのだけど、似た状況があったので、Pipesの新モジュールFetchPageを使ってみた。
ドキュメント(適当訳)によると、
このモジュールは、RSSなどのXMLではなく、HTMLそのものを文字列データソースとして読み込み、RSSに変換したり、Regexモジュールなどを使用して他のデータとマージしたりできるというもの。
要はHTMLのスタイルとかタグとかを取り外して文字情報だけをXMLとして抽出できるということで、世界中のサイトがデータベースになるよってことみたい
ためしにこういうカタログサイトの一部を切り出してJSONフォーマットでこのページに取り込んで別のスタイルをつけてみた。
Pipes:左利きパーサー
うわー超便利!なんでもありだなー。
FetchPageモジュールの詳細はこちらが詳しいです。
XHTMLやCSSを使っているサイトだと加工しやすいのだけど、たまにあるスタイルさえ使っていない古いサイトは要素を特定するのが厳しいので、こんなやりかたにしたらわりとスムーズにいけた。
- Regexで最初にタグを全部消去
- 改行の塊とデータになる
- Regexで改行の塊を/に変換
- Renameをつかって、ほしいデータの数だけ要素をコピー(Copy as データラベル)
- Regexで必要なデータ位置の/前後を削除
- (ん?一度パースすると改行が\rになる?かも。)
っていうか左ききグッズおもしろい。
