我正在使用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表行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)