<table >
<tr>
<td >
北海道</td>
<td >
<A href="http://xxxx.hokkaido.xxxx/" >
●</A></td>
</tr>
</table>
http://code.whytheluckystiff.net/hpricot/
URLは公式サイトです。速度的な問題があればパース部分には最適化の余地はありますけど、とりあえずこんな感じでどうでしょう。
配列の配列でとるので、あとはお好きなように出力してください。
#!/usr/bin/env ruby # vim:set fileencoding=utf-8 filetype=ruby $KCODE = 'u' require 'rubygems' require 'hpricot' html = <<HTML <table> <tr> <td > 北海道</td> <td > <A href="http://xxxx.hokkaido.xxxx/" > ●</A></td> </tr> </table> HTML doc = Hpricot.parse(html) arr = doc.search('table tr').map do |tr| td_name, td_link, = tr.search('td') [ td_name.inner_html.strip, link = td_link.search('a').attr("href").strip ] end p arr
ありがとうございます。
link = td_link.search('a').attr("href").strip の部分なんですけど、リンクがなく空白のセルだとエラーでとまります。回避するにはどうするといいのでしょうか?