Как сгруппировать загруженные файлы в один и тот же подкаталог для каждого элемента в Scrapy? - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь загрузить файлы с веб-сайта, используя scrapy, и они успешно работают. В настоящее время все файлы сохраняются в той же папке, как и ожидалось. Можно ли сохранить файлы в разных подкаталогах в соответствии с элементом scrapy, к которому они принадлежат / откуда взяты?

Так выглядит моя текущая конвейерная реализация (подклассы FilesPipeline):

import hashlib
from scrapy.pipelines.files import FilesPipeline
from scrapy.utils.python import to_bytes

class XeroPipeline(FilesPipeline):

    def file_path(self, request, response=None, info=None):
        original_path = super(XeroPipeline, self).file_path(request, response=None, info=None)
        root = hashlib.sha1(to_bytes(request.url)).hexdigest()
        if "objectUID" in request.url:
            return root + '/' + original_path + '.jpeg'
        else:
            return root + '/' + original_path + '.pdf'

но это просто сохраняет каждый файл в отдельной папке. Кажется, я не могу получить ссылку на элемент scrapy, поэтому не могу определить, откуда поступает каждый запрос. Любые предложения приветствуются.

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