如何让Scrapy将图像保存到远程服务器?

时间:2017-01-27 11:21:39

标签: python image scrapy remote-server

目前下载的图像都保存到本地计算机上,但我想要的是将图像直接保存到远程服务器(xxx.xxx.xxx.xxx),无论如何要在Scrapy中执行此操作吗?

1 个答案:

答案 0 :(得分: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' FSFileStore https://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