2017-01-27 1 views
0

В настоящее время загруженные изображения сохраняются на локальном компьютере, но я хочу сохранить изображения непосредственно на удаленном сервере (xxx.xxx.xxx.xxx), так или иначе, чтобы это сделать в Scrapy?Как сделать Scrapy сохранять изображения на удаленном сервере?

ответ

1

Из коробки Scrapy поддерживает хранение файлов в Amazon S3.

Чтобы настроить хранение изображений в один из использования бэкенд соответствующей схемы серверной и пути:

IMAGES_STORE = 's3://bucket/images' 

https://doc.scrapy.org/en/latest/topics/media-pipeline.html?highlight=image%20pipelines#supported-storage

Однако вы можете создать собственный FileStore класс, например, наследуемых от Scrapy-х FSFileStorehttps://github.com/scrapy/scrapy/blob/master/scrapy/pipelines/files.py#L42 , а затем создать пользовательскую схему ImagePipeline, которую вы хотели бы использовать, например:

class CustomFtpImagePipeline(ImagePipeline): 
    STORE_SCHEMES = { 
     'ftp': MyFTPFilesStore, 
    } 

затем просто использовать IMAGES_STORE установку с соответствующей схемой:

IMAGES_STORE = 'ftp://path_to_dir/on_ftp_server 
+0

Я знаю об этом, но то, что мне нужно, чтобы сохранить изображения на другой сервер, который я использую, чтобы не Amazon S3. – XO39

+0

Я обновил ответ – mizhgun

+0

Все еще не мог работать. Где я должен написать код, который отвечает за управление scrapy, чтобы использовать ftp для сохранения файлов на удаленном сервере? Какие методы переопределить? Извините, но я совершенно не знаком с python, если бы вы могли предоставить мне какой-то рабочий код для начала, я буду благодарен. – XO39

Смежные вопросы