我一直在rubyforge上查看XML和HTML库,这是一种从网页中提取数据的简单方法.例如,如果我想在stackoverflow上解析用户页面,我该如何将数据转换为可用的格式?
假设我想解析自己的用户页面以获取我当前的信誉评分和徽章列表.我试图将从我的用户页面检索到的源转换为xml,但由于缺少div,转换失败.我知道我可以做一个字符串比较并找到我正在寻找的文本,但必须有一个更好的方法来做到这一点.
我想将它合并到一个简单的脚本中,该脚本在命令行中吐出我的用户数据,并可能将其扩展为GUI应用程序.
不幸的是,stackoverflow声称是XML,但实际上并非如此. 然而,Hpricot可以将这个标签汤解析为一个元素树.
require 'hpricot' require 'open-uri' doc = Hpricot(open("http://stackoverflow.com/users/19990/armin-ronacher")) reputation = (doc / "td.summaryinfo div.summarycount").text.gsub(/[^\d]+/, "").to_i
等等.
尝试hpricot,它很好......太棒了
我已多次使用它进行屏幕抓取.
Hpricot结束了!
现在使用Nokogiri.