【问题标题】:Easiest way to fetch all href contents on page in Ruby?在Ruby中获取页面上所有href内容的最简单方法?
【发布时间】:2010-12-12 11:21:03
【问题描述】:
我正在用 Ruby 编写一个简单的网络爬虫,我需要获取页面上的所有 href 内容。执行此操作或任何其他网页源解析的最佳方法是什么,因为某些页面可能无效,但我仍然希望能够解析它们。
是否有任何优秀的 Ruby HTML 解析器允许 validity agnostic 解析,或者最好的方法是使用正则表达式手动完成?
是否可以在非 XHTML 页面上使用 XPath?
【问题讨论】:
标签:
html
ruby
regex
parsing
html-parsing
【解决方案1】:
看看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