gpt4 book ai didi

ruby - 在表格单元格中获取最后一句话?

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:43 25 4
gpt4 key购买 nike

我想使用 Ruby 和 Nokogiri 从表中抓取数据。

有很多<td>元素,但我只需要在 <br> 之后的国家/地区元素。问题是,<td>元素不同。有时不仅仅是国家。

例如:

<td><a href="#">Title1</a><br>USA</td>
<td><a href="#">Title2</a><br>Michael Powell<br>UK</td>
<td><a href="#">Title3</a><br>Leopold Lindtberg<br>Ralph Meeker<br>Switzerland</td>

我要在结束前处理元素</td>标记,因为国家始终是最后一个元素。

我该怎么做?

最佳答案

我会用这个:

require 'awesome_print'
require 'nokogiri'

html = '
<td><a href="#">Title1</a><br>USA</td>
<td><a href="#">Title2</a><br>Michael Powell<br>UK</td>
<td><a href="#">Title3</a><br>Leopold Lindtberg<br>Ralph Meeker<br>Switzerland</td>
'

doc = Nokogiri::HTML(html)
ap doc.search('td').map{ |td| td.search('text()').last.text }

[
[0] "USA",
[1] "UK",
[2] "Switzerland"
]

问题是您正在解析的 HTML 不会包含 <td> 行标签,因此您必须找到要解析的标签。相反,它们将散布在 <tr> 之间。标签,甚至可能不同 <table>标签。因为您的 HTML 示例没有显示文档的真实结构,所以我帮不了您更多。

关于ruby - 在表格单元格中获取最后一句话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com