今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

今に必要なのはHpricot or Htree?

前回紹介したmechanizeの最大の特徴は、「フォームに情報を入力できる」ということだった。これにより、フォームに文字を入力しなければ見れない動的なページへのアクセス、またフォームを介した自動ログイン、自動投稿が可能になったのだ。

なら「ふつうにアクセスして見えるページ」ならmechanizeではなくて専用のHTTPパーサーを使えばよい。

…ということにmechanizeを使ってやっと気付いた。

で、HpricotとHtreeである。両方ともrubyのHTTPパーサでHTTPをXMLに直したりしてくれるらしい(多分直接文字列を取得する事も可能…だと思う)。XMLにした後は、各種パーサー(ここ突き詰めると長くなるので省略)で取り出してやればよい。

http://labs.gmo.jp/blog/ku/2007/02/post_3.html
進化する“Webスクレイピング”技術の世界 − @IT
RubyでXML操作 | Netsphere Laboratories

実用的な流れとしては

  1. mechanizeを使って動的にページにアクセス
  2. 表示されたページをHpricot or Htree使ってXMLにパース。
  3. XMLパーサーでさくさく取得

となるのかな。

メモすることが多すぎてここから本題なんだけど、HpricotとHtree、どっち使ったらいいんだ?ってことだ。次回に続く…。