0

我想抓取这样一个网页的内容:

open("http://www.ruby-lang.org/")

但是,有时,该页面不存在:

open("http://www.ruby-lang.org/blabla.html")

open命令引发异常。我知道我可以捕捉到该异常,但在我的情况下似乎不合适。我知道经常会出现错误的 URL,因为访问者和用户输入要检索的 URL。

我不喜欢在这种常规情况下使用异常的想法。有没有一种方法可以让我知道在没有抛出异常的情况下找不到页面?

4

1 回答 1

0

您正在使用一种简化的方法来读取文件 ( open-uri),因此您会得到一个简化的错误结果。除了简单的成功/失败之外,这不是一种强大的做事方式。

检查使用Net::HTTP (特别是request方法)Mechanize或许多其他可用的 API 来完成此类任务。

于 2013-10-16T00:36:15.483 回答