Scrapy - Feed 导出

说明

Feed 导出是一种存储从网站抓取的数据的方法,即生成"导出文件"

序列化格式

使用多种序列化格式和存储后端,Feed 导出使用项目导出器并生成包含抓取项目的 Feed。

下表显示了支持的格式−

Sr.No 格式 &描述
1

JSON

FEED_FORMAT 是 json

使用的导出器是 class scrapy.exporters.JsonItemExporter

2

JSON lines

FEED_FROMAT 是 jsonlines

使用的导出器是 class scrapy.exporters.JsonLinesItemExporter

3

CSV

FEED_FORMAT 是CSV

使用的导出器是class scrapy.exporters.CsvItemExporter

4

XML

FEED_FORMAT 是xml

使用的导出器是class scrapy.exporters.XmlItemExporter

使用 FEED_EXPORTERS 设置,支持的格式也可以扩展 −

Sr.No 格式& 描述
1

Pickle

FEED_FORMAT 是 pickel

使用的导出器是 class scrapy.exporters.PickleItemExporter

2

Marshal

FEED_FORMAT 是 marshal

使用的导出器是 class scrapy.exporters.MarshalItemExporter

存储后端

存储后端使用 URI 定义在哪里存储 feed。

下表显示支持的存储后端 −

Sr.No 存储后端 &描述
1

本地文件系统

URI 方案为 file,用于存储 feed。

2

FTP

URI 方案为 ftp,用于存储 feed。

3

S3

URI 方案为 S3,feed 存储在 Amazon S3 上。需要外部库 botocoreboto

4

标准输出

URI 方案为 stdout,并且 feed 存储到标准输出。

存储 URI 参数

以下是存储 URL 的参数,在创建 feed 时会被替换 −

  • %(time)s:此参数会被时间戳替换。
  • %(name)s:此参数会被蜘蛛名称替换。

设置

下表显示了可用于配置 Feed 导出的设置 −

Sr.No 设置 &描述
1

FEED_URI

用于启用 feed 导出的导出 feed 的 URI。

2

FEED_FORMAT

用于 feed 的序列化格式。

3

FEED_EXPORT_FIELDS

用于定义需要导出的字段。

4

FEED_STORE_EMPTY

定义是否导出没有项目的 feed。

5

FEED_STORAGES

这是一个带有附加 feed 存储后端的字典。

6

FEED_STORAGES_BASE

这是一个带有内置 feed 存储后端的字典。

7

FEED_EXPORTERS

这是一个带有附加feed 导出器。

8

FEED_EXPORTERS_BASE

这是一个内置 feed 导出器的字典。