如何对不规范的HTML使用XPath查询
刚接触ruby,目前需要用ruby做bot,遇到个棘手的问题我发现REXML不能直接处理不规范的HTML (或者说非XHTML),
我做java的时候都是用htmlcleaner解决这个问题的,但是ruby就没啥概念了。
关于HTML的parser, 现在google下来也有好几个工具了
rubyful_soap
ymHtml
hTree
不过还是想问问各位都在用哪个开发包呢?:shock: 先用rubyful_soup了,我看oreilly的书上的例子就是用这个soup
require 'rexml/document'
require 'rubygems'
require 'rubyful_soup'
resp, data = request(url, nil)
# entrance xml
ent_xml = BeautifulSoup.new(resp.body).prettify
ent_doc = REXML::Document.new(ent_xml)
elems_input = ent_doc.elements.to_a('//input')
elems_input.each { | elem_input |
puts elem_input
}
页:
[1]