Nokogiri:解析、提取和返回HTML表格中的内容 [英] Nokogiri: parse, extract and return <tr> content in HTML table

查看:18
本文介绍了Nokogiri:解析、提取和返回HTML表格中的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解析一个HTML表。它基本上是HTML:

中的第六个<tr>标签
<HTML>
<HEAD>
<TITLE>date</TITLE>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
</HEAD>
<BODY bgcolor="white">
<table border=0 cellpadding=0 cellspacing=0>
<tr>
    <td align=right colspan=2 id=ptitle name=ptitle>
        <font size=3>this is my title</font><br>
    </td>
</tr>
<tr>
    <td height=10 align=left colspan=2 valign=top>
        <table border=0 width="100%" cellpadding=0 cellspacing=0>
        <tr>
            <td width="50%" align=right><font size=2>this is my subtitle</font></td>
        </tr>
        </table>
    </td>
</tr>
    <td valign=top>
        <table border=0 cellpadding=0 cellspacing=0>
    <tr>
this is a line
</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>
<tr>
this is a line</tr>

    </table>

    </td>
</tr>
</table>
<br>


</BODY>
</HTML>

我的Ruby代码如下所示:

require 'nokogiri'
require 'open-uri'
url = <website-name>
data = Nokogiri::HTML(open(url))
data.at('<tr>').next[6].text

但这行不通。如何使用Nokogiri提取所有这些<tr>this is a line</tr>代码?

理想情况下,我希望它在一个变量中,并像我希望的那样包括HTML,但将其包含在另一个网站中。

非常感谢!

推荐答案

此处:

data = Nokogiri::HTML(open(url))
rows = data.css("td[valign='top'] table tr") # All the <tr>this is a line</tr>
rows.each do |row|
  puts row.text # Will print all the 'this is a line'
end

这篇关于Nokogiri:解析、提取和返回HTML表格中的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆