Scrap-фильтр идентичных URL-адресов различаются по "http" и "https" - PullRequest
1 голос
/ 07 ноября 2019

Я заметил, что scrapy будет сканировать обе страницы, которые отличаются только схемой, например "http://www.google.com"" и "https://www.google.com",, что фактически удвоит мой запрос. Есть ли способ, которым я могу отфильтровать половину из них?

1 Ответ

1 голос
/ 07 ноября 2019

Универсального пути нет. В зависимости от ваших конкретных обстоятельств могут применяться разные решения, или не может быть хорошего решения.

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

Если это для широкого сканирования , нацеленного на произвольное количество доменов, это может быть немного сложно. Большинство доменов будут перенаправлять HTTP на HTTPS, но некоторые домены будут перенаправлять трафик HTTPS на HTTP.

В этом последнем случае, если проблема заключается в том, что, находясь на странице HTTPS, вы получаете ссылки HTTP, которые затем перенаправляются обратно на HTTPS,Вы можете изменить своего паука на чтение протокола с response.url и использовать его при создании запроса вместо того, чтобы использовать найденный вами URL. Но возможно, что часть содержимого на самом деле является HTTP, и вы получите неправильные ответы из-за изменения протокола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...