打印

请教大家一个问题

请教大家一个问题

我要抽取一个URL地址下的email,使用递归来进行深层抽取,但当遇到某个url页面下没有email的时候,就循环不下去了(报错)。我想让一直执行下去,该如何写呢?请大家帮帮忙!

def test3(url,from_deep_ctr)

     next_deep_ctr = from_deep_ctr + 1
     
     if next_deep_ctr > 3
      return
     end
   
     @link = []
     @result = []

#抽取url下的link并判断是否为email
       doc = Hpricot(open(url))
       doc.search('//a').each do |a|
       a.attributes['href'].each do |link|
       check_mail(link)
       @link << link
       end
     end

#判断url的合法性以及是否为该站点内的url
     urlRE = /^http\:\/\/[-a-z0-9]+(\.[-a-z0-9]+)*\.(net|com|cn|edu|info)/
     for alink in @link
      if alink =~ urlRE && URI.parse(alink).host == URI.parse(url).host
       @result << alink
      end
    end

#递归来实现深层抽取
      for result in @result
         test3(result,next_deep_ctr)
      end
end

TOP

把报错的代码找出来,然后
复制内容到剪贴板
代码:
begin
   ..... #这里可能会抛出异常
  rescue Exception => e
end
def keyword; end

TOP