Остановите Scrapy от преобразования "-" в "-" из URL - PullRequest
0 голосов
/ 08 ноября 2019

Один из веб-сайтов, над которым я работаю, часто использует в URL, и Scrapy преобразует его в — перед обработкой;Я пытаюсь изменить его обратно на , добавив несколько строк по умолчанию. Загрузите промежуточное ПО, и оно печатает все нормально, однако Scrapy конвертирует его снова, что в итоге приводит к 404.

'DOWNLOADER_MIDDLEWARES' : {
    'something.middlewares.MyDownloaderMiddleware': 540
}

middlewares.py.

from urllib.parse import unquote
from html import escape, unescape

class MyDownloaderMiddleware(object):
    def process_request(self, request, spider):
        new_url = unescape(unquote(request.url))
        print (new_url)
        request = request.replace(url=new_url)
        return None

Я попытался return request вместо return none в промежуточном программном обеспечении, однако, похоже, он тоже не работает.

Решение:

У меня естьпоместил пару .replace("—", "—") в коде паука, теперь он работает, хотя мой первый подход состоял в том, чтобы сделать это через промежуточное ПО, которое должно было быть более чистым.

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