1

我正在用红宝石海葵宝石抓取少量网站。

Anemone.crawl("http://www.somesite.com") do |anemone|
         anemone.on_every_page do |page|
            ...
         end
end

根据站点的不同,有些要求 url 中出现“www”,而另一些则要求省略。如何配置爬虫或对其进行编码,以便它知道何时使用正确的 url?

4

2 回答 2

1

你不知道,所以,做一些类似于你坐在浏览器前所做的事情。

试一试,看看你有没有连接,看看你有没有 200 响应,然后看看标题中是否有“错误”。如果这些都没有失败,那么认为它很好。

如果没有,请尝试另一个。

使用罐装蜘蛛/爬虫的问题是,当情况与他们编写软件时的预期不同时,您必须解决他们的代码。

于 2013-06-15T05:38:52.370 回答
0

大多数网站会自动将 www 重定向到 somesite.com,或反之亦然,因此您不必担心。

我认为 Anemone 可以处理重定向(?)。但如果不能,那么我建议您在将它们交给 Anemone 之前预先检查重定向的 URL。你可以在这里看看如何做到这一点:

使用 Ruby 重定向后如何获取最终 URL?

IE:

final_url = check_base_url_for_redirect('www.somesite.com')
Anemone.crawl(final_url) ...
于 2013-06-15T04:58:50.500 回答