gpt4 book ai didi

ruby - 在 Ruby 中解析表的最佳方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:49:07 26 4
gpt4 key购买 nike

我想将一个简单的表解析为 Ruby 数据结构。该表如下所示:

alt text http://img232.imageshack.us/img232/446/picture5cls.png http://img232.imageshack.us/img232/446/picture5cls.png

编辑: Here is the HTML

我想将它解析成一个哈希数组。例如:

schedule[0]['NEW HAVEN'] == '4:12AM'
schedule[0]['Travel Time In Minutes'] == '95'

关于如何做到这一点有什么想法吗? Perl 有 HTML::TableExtract ,我认为它可以完成这项工作,但我找不到任何类似的 Ruby 库。

最佳答案

您可能想试试 Hpricot ( gem install hpricot ,为 *nix 系统添加通常的 sudo)

我将您的 HTML 放入了 input.html ,然后运行这个:

require 'hpricot'

doc = Hpricot.XML(open('input.html'))

table = doc/:table

(table/:tr).each do |row|
(row/:td).each do |cell|
puts cell.inner_html
end
end

对于第一行,它给了我

<span class="black">12:17AM </span>
<span class="black">
<a href="http://www.mta.info/mnr/html/planning/schedules/ref.htm"></a></span>
<span class="black">1:22AM </span>
<span class="black">
<a href="http://www.mta.info/mnr/html/planning/schedules/ref.htm"></a></span>
<span class="black">65</span>
<span class="black">TRANSFER AT STAMFORD (AR 1:01AM & LV 1:05AM) </span>
<span class="black">

N


</span>

所以我们已经了解了 TD 的内容标签。再多做一点工作,你就成功了。

(顺便说一句,HTML 看起来有点畸形:你在 <th> 中有 <tbody> 标签,这似乎有点反常:如果 <tbody> 只是在 <table> 中的另一个级别,它是相当没有意义的。它如果您的 <tr><th>...</th></tr> 内容位于单独的 <thead> 部分 within the table 中,则更有意义。但它当然可能不是“您的”HTML!)

关于ruby - 在 Ruby 中解析表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1230408/

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