RSSを発行していないページを解析して自分でRSS化してしまうことを、
個人的に【DIY RSS】と呼んでいます。
もちろん実際にはScrapingなどが中身なので、個人的なプロジェクト名ですね。
んで、自前でScrapeのためのプログラムを書いて使っているんですが、
何かライブラリを利用できるなら利用する方が色んな意味で吉。
そう言う意味で、もう少し他のものに置き換えられないか検討してみました。
とりあえず目に付いた感じでは、こんな感じ。
tidyってのは有名なライブラリで基本なんだけど、レンタルサーバに入れるのは面倒。
面倒って言うか、パッケージをインストールするにはPECLを使う必要があって、
その際にいくつかやることがある模様。
さくらインターネットにPECLをインストール [dozo dokuwiki.php]
しかし…色々とやることがアレなので、ちょっと面倒。
さらに、仮にtidyを導入したところで、実は格納形式?が配列であり、
つまりWeb::ScraperのようにXpath的に要素に直接アクセスする感じとはほど遠いので、
実際にプログラム内で使うと…面倒かも。
(それでも今よりかなり効率的だけど)
もう一個の、HTMLScraping Classも基本的にはtidyを利用していますが、
そこからデータをXML形式にしてアクセスしやすくした感じのライブラリ。
見た感じ面白そうですが、やはりデータを持ってくるときのギミックが足りない感じ。
…いや、足りないっつーかmiyagawaさんのデザインが素敵すぎるんだけど。
こうしたライブラリを使用する目的は、
HTMLを取得して解析することではなくて(それはあくまで手段ないしは目的までの道程)、
その中身を出来るだけスムースに取り出して再利用することのハズなので、
そう言う点で言えばmiyagawaさんの方針こそがライブラリとして正しいと思うんだけど、
やっぱそういうところまで考えて実装するのは難しいのかなとか。
ライブラリを探そうなんて人は無けりゃ書いちゃうからなぁ…
素直にperlで書けっつーことかもしれないな。
それでも良いけど、題名それで結論これかっちゅー話だけどね(苦笑)
とりあえず何で今さらこんな話を書いてるかって言うと、
このエントリに凄い感動したからなんだけど。
てきとうにクリックしたらてきとうにWeb::Scraperのコードを作ってくれるWebScraper IDE – bits and bytesまえに作ったWeb::Scraperのjavascriptバージョンwebscraper.jsとXPathをてきとうに作ってくれる機能を追加したwebscraperp.jsにHTMLのドキュメントから繰り返し部分をみつけてSITEINFOをつくるAutoPagerize Iteration Detectorみたいなみためをくっつけて、取り出したい部分をクリックしたらてきとうにXPathを生成してWeb::Scraperのコードにして出してくれるFirefoxのextensionを作りました。
とりあえずなにがしかやってみることにしようー
あ、DIY RSS関連についてはまたいずれ機会を改めて。
(それもまたそれPlaなんだけどね。)