scrapy 2.3 存储后端
本地文件系统
源存储在本地文件系统中。
URI方案: file示例性URI: file:///tmp/export.csv所需外部库:无
请注意,对于本地文件系统存储(仅限),如果您指定类似 /tmp/export.csv . 不过,这只在UNIX系统上工作。
FTP
这些提要存储在FTP服务器中。
URI方案: ftp示例性URI: ftp://user:pass@ftp.example.com/path/to/export.csv所需外部库:无
ftp支持两种不同的连接模式: active or passive .默认情况下,Scrapy使用被动连接模式。要使用活动连接模式,请设置 设置为 True .
此存储后端使用
S3
源存储在 Amazon S3 .
URI方案: s3URI示例:s3://mybucket/path/to/export.csvs3://aws_key:aws_secret@mybucket/path/to/export.csv所需的外部库: botocore
AWS凭证可以作为用户/密码在URI中传递,也可以通过以下设置传递:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
还可以使用此设置为导出的源定义自定义ACL:
FEED_STORAGE_S3_ACL
此存储后端使用 delayed file delivery .
谷歌云存储(GCS)
2.3 新版功能.
源存储在 Google Cloud Storage .
URI方案: gsURI示例:gs://mybucket/path/to/export.csv所需的外部库: google-cloud-storage .
有关身份验证的详细信息,请参阅 Google Cloud documentation .
你可以设置一个 项目标识 和 访问控制列表(ACL) 通过以下设置:
FEED_STORAGE_GCS_ACLGCS_PROJECT_ID
此存储后端使用 delayed file delivery .
标准输出
进料被写入 Scrapy 处理的标准输出。
URI方案: stdout示例性URI: stdout:所需外部库:无
延迟文件传递
如上所述,所述的一些存储后端使用延迟的文件传递。
这些存储后端不会将项上载到提要URI,因为这些项是被刮取的。相反,Scrapy将项目写入一个临时本地文件,只有当所有文件内容都被写入(即在爬网结束时),该文件才会上载到提要URI。
如果要在使用这些存储后端之一时提前开始项目传递,请使用 FEED_EXPORT_BATCH_ITEM_COUNT 将输出项拆分为多个文件,每个文件具有指定的最大项数。这样,一旦文件达到最大项数,该文件就被传递到提要URI,从而允许条目传递在爬网结束之前开始。