Web サイトをクロールする必要があるツールを実装しています。クロールにはアネモネを使用しており、各アネモネのページではボイラーパイプとノコギリを使用して HTML 形式などを管理しています。
私の問題は、500 内部サーバー エラーが発生した場合、ページがないために Nokogiri が失敗することです。
Anemone.crawl(name) do |anemone|
anemone.on_every_page do |page|
if not (page.nil? && page.not_found?)
result = Boilerpipe.extract(page.url, {:output => :htmlFragment, :extractor => :ArticleExtractor})
doc = Nokogiri::HTML.parse(result)
end
end
end
上記の場合、500 内部サーバー エラーが発生すると、アプリケーションは Nokogiri::HTML.parse() でエラーを返します。この問題は避けたい。サーバーでエラーが発生した場合、このページを無視して計算を続行します。
これらのツールで 500 Internal Server Error と 404 Page Not Found を処理する方法はありますか?
よろしく、ヒューゴ