scrapy 2.3 存储后端

2021-06-09 11:26 更新

本地文件系统

源存储在本地文件系统中。

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,从而允许条目传递在爬网结束之前开始。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号