在Ruby中解析表的最佳方法

在Ruby中解析表的最佳方法,第1张

概述我想将一个简单的表解析为 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][ 我想将一个简单的表解析为 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  endend

对于第一行,它给了我

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

所以我们已经归结为TD标签的内容了.还有一点工作,你就在那里.

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

总结

以上是内存溢出为你收集整理的在Ruby中解析表的最佳方法全部内容,希望文章能够帮你解决在Ruby中解析表的最佳方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1212392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存