Ich habe ein HTML-Dokument zu parsen und lesen Sie eine Reihe von Sachen von dort. Das Problem ist, dass der HTML-Code mehrere Tabellen enthält, und ich bin nur an einer Tabelle interessiert. Außerdem möchte ich nur die Zeilen lesen, die einen nützlichen Inhalt haben. Hier ist eine Beispiel-HTML-Seite, es gibt zwei Tabellen ohne ID, und ich möchte nur die zweite Tabelle und nur die Zeilen, die für Menschen nützlich sind.Ruby - Nokogiri - parse nur bestimmte HTML-Tabelle
<HTML>
<BODY>
<TABLE>
<TR>
<TD> I don't want this table </TD></TR>
<TR>
<TD></TD>
<TD> No No No <br></TD>
</TR>
....
</TABLE>
<TABLE>
<TR>
<TD>04/13/2012 22:51 I want this table </TD></TR>
<TR>
<TD></TD>
<TD> First - something there <br></TD>
</TR>
<TR>
<TD>04/13/2012 23:23 Update from xyz</TD></TR>
<TR>
<TD></TD>
<TD>Second - something here <br></TD>
</TR>
</TABLE>
</BODY>
</HTML>
ich diesen Code bin versucht, die offensichtlich nicht funktioniert. Das o/p ist nicht der Text, den ich möchte. Es enthält beide Tabellen, ich möchte nur die zweite Tabelle. Hilfe!
require 'curb'
require 'nokogiri'
c = Curl::Easy.perform("http://server/cgi-bin/page.cgi?id=123456")
html_doc = Nokogiri::HTML(c.body_str.to_s)
puts html_doc.xpath("//table/tr/td")
Verstanden! 'require 'curb' 'nokogiri' c = Locken :: Easy.perform ("? Http: //server/cgi-bin/page.cgi id = 123456") erfordern html_doc = Nokogiri :: HTML (c.body_str.to_s) puts html_doc.xpath ("// tabelle [2]/tr/td/text()") ' –