codecamp

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


scrapy 2.3 存储URI参数
scrapy 2.3 Feed导出设置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

scrapy 2.3 链接提取器

scrapy 2.3 统计数据集合

scrapy 2.3 发送电子邮件

scrapy 2.3 蜘蛛合约

scrapy 2.3 如何部署蜘蛛

scrapy 2.3 AutoThrottle扩展

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }