[php]スクレイピングならHTMLScraping→SimpleXML→xpath
野暮用でphpのスクレイピングについていろいろと調べて、いくつかライブラリを見つけました。
この中で、個人的に気に行ったのはHTMLScrapingです。このライブラリの手順は以下の通りです。
- HTTP_RequestでHTML文書を取得します。
- サーバにTidy拡張が導入済みならTidy関数でHTMLをXMLに変換(修正)します。導入されていなければHTMLParserという同じ作者が作ったHTMLをXMLに整形するライブラリを用いてXML化します。
- XML化した文書をSimpleXMLとして出力します。
- お好みでCache_Liteに保存できます。
HTMLScrapingライブラリを使えば、サーバにTidyが入っているかどうかにかかわらず、HTML文書をSimpleXMLオブジェクトに変換することができます。あとは、SimpleXMLでxpathでも使えばいい感じにスクレイピングできるのではないでしょうか。とか言ってる私は、さっきxpathを初めて使いましたが。。。
rhacoのSimpleTagも気にはなりましたが、今回はちょっと急ぎだったのでHTMLScrapingに逃げました。おかげで手作業を自動化することができました。ミニツールはたくさん持って置いて損はないですね。