我正在用红宝石海葵宝石抓取少量网站。
Anemone.crawl("http://www.somesite.com") do |anemone|
anemone.on_every_page do |page|
...
end
end
根据站点的不同,有些要求 url 中出现“www”,而另一些则要求省略。如何配置爬虫或对其进行编码,以便它知道何时使用正确的 url?
我正在用红宝石海葵宝石抓取少量网站。
Anemone.crawl("http://www.somesite.com") do |anemone|
anemone.on_every_page do |page|
...
end
end
根据站点的不同,有些要求 url 中出现“www”,而另一些则要求省略。如何配置爬虫或对其进行编码,以便它知道何时使用正确的 url?
你不知道,所以,做一些类似于你坐在浏览器前所做的事情。
试一试,看看你有没有连接,看看你有没有 200 响应,然后看看标题中是否有“错误”。如果这些都没有失败,那么认为它很好。
如果没有,请尝试另一个。
使用罐装蜘蛛/爬虫的问题是,当情况与他们编写软件时的预期不同时,您必须解决他们的代码。
大多数网站会自动将 www 重定向到 somesite.com,或反之亦然,因此您不必担心。
我认为 Anemone 可以处理重定向(?)。但如果不能,那么我建议您在将它们交给 Anemone 之前预先检查重定向的 URL。你可以在这里看看如何做到这一点:
IE:
final_url = check_base_url_for_redirect('www.somesite.com')
Anemone.crawl(final_url) ...