Как остановить Scrapy 301 перенаправления и прекратить анализ перенаправленной страницы - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь отсканировать страницу, которая по какой-либо причине перенаправляет скрап, через 301 на английскую версию, а затем сайт анализируется, чего не следует делать, поскольку правила явно исключают URL.

При поискеРешение о том, как остановить любое перенаправление, я нашел следующий код:

meta ={'dont_redirect': True}

К сожалению, это не имеет никакого эффекта.Мой класс пауков выглядит следующим образом:

class GetbidSpider(CrawlSpider):
    name = 'test'
    meta ={'dont_redirect': True}
    allowed_domains = ['www.example.de']
    start_urls = ['https://www.example.url/bla.html']

    rules = (

        Rule(
            LinkExtractor(allow=['.*Mein-String.*[a-z]::[0-9].*']), 
            callback='parse_item'
        ),

        Rule(
            LinkExtractor(allow=['^.*de\/((?!My-String|:_:|productListingStyle|\.php).)*$']), 
            follow=True
        ),
    )

Это правильное место для настройки перенаправления и почему Scrap анализирует ввод, пока первое правило URL не будет выполнено?

1 Ответ

0 голосов
/ 27 ноября 2018

Почему то, что вы пробовали, не работает:

  • Правила определяют только то, какие запросы будут созданы вашим пауком, они не контролируют логику перенаправления.
  • meta является атрибутом Request и работает только для каждого запроса.

Как отключить перенаправления:

Самый простой способ отключить перенаправления в глобальном масштабе - установить для параметра REDIRECT_ENABLED значение False.

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