2013-06-15 1 views
1

Я швыряю небольшое количество сайтов с драгоценным камнем рубинового анемона.Когда использовать 'http: //' или 'http: // www.' при соскабливании?

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

В зависимости от сайта некоторые требуют наличия «www» в URL-адресе, в то время как другие требуют, чтобы он был опущен. Как настроить искатель или его код, чтобы он знал, когда использовать правильный URL-адрес?

ответ

1

Вы не можете знать, поэтому, сделать что-то подобное тому, что вы могли бы сделать, сидя в передней части браузер.

Попробуйте один, посмотрите, есть ли у вас соединение, посмотрите, есть ли у вас ответ 200, а затем посмотрите, имеет ли в нем название «ошибка». Если никто из них не справится, тогда считайте это хорошим.

Если нет, попробуйте другой.

Проблема с использованием консервированного паука/искателя заключается в том, что вам придется работать над своим кодом, когда ситуация отличается от ожидаемой, когда они написали программное обеспечение.

0

Большинство сайтов перенаправляют www на somesite.com или наоборот, поэтому вам не стоит беспокоиться об этом.

Я бы подумал, что Anemone может обрабатывать переадресации (?). Но если это невозможно, я предлагаю вам предварительно проверить URL-адреса для перенаправления, прежде чем передавать их Anemone. Вы можете посмотреть здесь, как сделать это:

How can I get the final URL after redirects using Ruby?

Ie:

final_url = check_base_url_for_redirect('www.somesite.com') 
Anemone.crawl(final_url) ... 
Смежные вопросы