Nokogiriでスクレーパーを書いていますが、大きなHTMLファイルをスクレイプしたいと思います。
現在、私は大きなテーブルをこすっています。ここに小さな断片があります:
<table id="rptBidTypes__ctl0_dgResults">
<tr>
<td align="left">S24327</td>
<td>
Airfield Lighting
<div>
<div>
<table cellpadding="5px" border="2" cellspacing="1px" width="100%" bgcolor=
"black">
<tr>
<td bgcolor="white">Abstract:<br />
This project is for the purchase and delivery, of various airfield
lighting, for a period of 36 months, with two optional 1 year renewals,
in accordance with the specifications, terms and conditions specified in
the solicitation.</td>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
そして、これが私がスクレイプするために使用しているRubyコードです:
document = doc.search("table#rptBidTypes__ctl0_dgResults tr")
document[1..-1].each do |v|
cells = v.search 'td'
if cells.inner_html.length > 0
data = {
number: cells[0].text,
}
end
ScraperWiki::save_sqlite(['number'], data)
end
残念ながら、これは私にはうまくいきません。抽出したいだけですがS24327
、すべてのテーブルセルのコンテンツを取得しています。最初のコンテンツのみを抽出するにはどうすればよいtd
ですか?
このテーブルの下には、同じ形式に従う多くのテーブル行があることに注意してください。