我想處理所有鏈接,但外部的從整個網站。有沒有簡單的方法如何確定鏈接是外部的並跳過它?處理所有鏈接,但外部的(紅寶石+機械化)
我的代碼看起來到目前爲止像(該網站的網址是通過命令行參數傳遞)
我使用機械化(0.9.3)和紅寶石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]))
非常好的答案。謝謝你。 – Radek 2010-04-27 06:51:46
謝謝。它來自一段時間以來我曾經認爲可能會發揮作用的方法,但卻沒有這樣做。不能保證這將涵蓋所有情況,但使用URI有助於消除許多意想不到的問題。 :-) – 2010-04-27 19:44:35