在Ruby中获取页面上所有href内容的最简单方法?

时间:2009-11-02 23:39:54

标签: html ruby regex parsing html-parsing

我在Ruby中编写一个简单的Web爬虫,我需要获取页面上的所有href内容。执行此操作或任何其他网页源解析的最佳方法是什么,因为某些页面可能无效,但我仍希望能够解析它们。

是否有任何优秀的Ruby HTML解析器允许有效性无关解析,或者是使用regexp手动执行此操作的最佳方法?

是否可以在非XHTML页面上使用XPath?

2 个答案:

答案 0 :(得分:4)

看看Nokogiri。简短的例子:

require 'open-uri'
require 'nokogiri'
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
doc.search('//*[@href]').each do |m| p m[:href] end

答案 1 :(得分:1)

看看Mechanize。我很确定它有抓取页面中所有链接的方法。