无法提取html表行

无法提取html表行,第1张

概述我尝试提取上表中列出的所有五行. 我正在使用Ruby hpricot库使用xpath表达式提取表行. 在我的例子中,我使用的xpath表达式是/ html / body / center / table / tr.请注意,我已从表达式中删除了tbody标记,这通常是成功提取的情况. 奇怪的是,我在结果的前三行中丢失了最后两行.我只是不知道那里发生了什么. 编辑:没有任何关于代码的魔力,只需根据要求 我尝试提取上表中列出的所有五行.

我正在使用Ruby hpricot库使用xpath表达式提取表行.

在我的例子中,我使用的xpath表达式是/ HTML / body / center / table / tr.请注意,我已从表达式中删除了tbody标记,这通常是成功提取的情况.

奇怪的是,我在结果的前三行中丢失了最后两行.我只是不知道那里发生了什么.

编辑:没有任何关于代码的魔力,只需根据要求附加它.

require 'open-uri'require 'hpricot'faculty = Hpricot(open("http://www.utm.utoronto.ca/7800.0.HTML"))(faculty/"/HTML/body/center/table/tr").each do |text|  puts text.to_send
解决方法 有问题的HTML文档无效. (见 http://validator.w3.org/check?uri=http%3A%2F%2Fwww.utm.utoronto.ca%2F7800.0.html.)Hpricot以不同于浏览器的方式解析它 – 因此结果不同 – 但实际上并不能归咎于它.在HTML5之前,没有关于如何解析无效HTML文档的标准.

我尝试用Nokogiri替换Hpricot,它似乎给出了预期的解析.码:

require 'open-uri'require 'nokogiri'faculty = Nokogiri.HTML(open("http://www.utm.utoronto.ca/7800.0.HTML"))faculty.search("/HTML/body/center/table/tr").each do |text|  puts textend

也许你应该转换?

总结

以上是内存溢出为你收集整理的无法提取html表行全部内容,希望文章能够帮你解决无法提取html表行所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1083894.html

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

发表评论

登录后才能评论

评论列表(0条)

保存