【发布时间】:2010-04-27 03:36:09
【问题描述】:
我想处理整个网站的除外部链接之外的所有链接。有什么简单的方法可以识别链接是外部链接并跳过它吗?
我的代码看起来很像(站点 url 是通过命令行参数传递的)
我正在使用 mechanize (0.9.3) 和 ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
请注意,网站可以使用相对路径,因此没有主机/域,这使得它有点复杂
require 'mechanize'
def process_page(page)
puts
puts page.title
STDIN.gets
page.links.each do |link|
process_page($agent.get(link.href))
end
end
$agent = WWW::Mechanize.new
$agent.user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4'
process_page($agent.get(ARGV[0]))
【问题讨论】: