Scrapy - 数据导出



描述

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

序列化格式

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

下表显示了支持的格式:

序号 格式 & 描述
1

JSON

FEED_FORMAT 为 json

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

2

JSON 行

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设置,还可以扩展支持的格式:

序号 格式 & 描述
1

Pickle

FEED_FORMAT 为 pickel

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

2

Marshal

FEED_FORMAT 为 marshal

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

存储后端

存储后端使用 URI 定义存储 Feed 的位置。

下表显示了支持的存储后端:

序号 存储后端 & 描述
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: 此参数将被爬虫名称替换。

设置

下表显示了用于配置数据导出的设置:

序号 设置 & 描述
1

FEED_URI

它是导出 Feed 的 URI,用于启用 Feed 导出。

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 导出器的字典。

广告