Я пытаюсь загрузить файлы с веб-сайта, используя 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
, поэтому не могу определить, откуда поступает каждый запрос. Любые предложения приветствуются.