2

nokogiri gem を使用して、名前のリストを含む列があり、それらの名前の一部はハイパーリンクされており、一部はリンクされていない html テーブルのコンテンツを解析しています。このコードを使用すると:

puts doc.xpath("//table//tr//td[1]/text()")

ハイパーリンクされた名前をスキップします。これでハイパーリンクされた名前を取得することもできます:

doc.xpath('//table//tr//td[1]//a[@href]').each do |link|
   puts link.text.strip
end

2 回実行せずにすべての名前を取得するにはどうすればよいですか?

4

1 に答える 1

1

ハイパーリンクの有無にかかわらず、セル内のすべてのテキストが必要な場合:

doc.xpath('//td[1]').each do |cell|
   puts cell.text.strip
end

注: 有効な HTML ドキュメントでは、 atdは常に atableと a内にありtrます。他のセレクター要件がない場合は、上記のように単純化できます。

于 2013-02-12T21:09:36.793 に答える