我一直在研究rubyforge上的XML和HTML库,寻找一种从网页中提取数据的简单方法。例如,如果我想在stackoverflow上解析一个用户页面,如何将数据转换为可用的格式?
假设我想解析我自己的用户页面,以获得我当前的声誉分数和徽章列表。我试图将从我的用户页面检索到的源代码转换为xml,但由于缺少div,转换失败。我知道我可以做一个字符串比较,并找到我正在寻找的文本,但必须有更好的方法来做到这一点。
我希望将其合并到一个简单的脚本中,该脚本在命令行中显示我的用户数据,并可能将其扩展到GUI应用程序中。
发布于 2014-01-30 14:32:45
现在使用。
发布于 2008-09-25 19:41:45
不幸的是,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
以此类推。
发布于 2008-09-25 19:35:20
试试hpricot,它很好...太棒了
我已经多次使用它来抓取屏幕。
https://stackoverflow.com/questions/137605
复制