参考:https://docs.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-exports
整体架构图:
SPIDER提取出的数据是dict,从上图可以看出,会将这些数据发送给ENGINE,然后ENGINE再将数据交给ITEM PIPELINES。
Serialization formats
Scrapy提供了几种内置的方法,能将dict转换成常见的数据格式,开箱即用。
- JSON
- JSON Line
- CSV
- XML
以上是Scrapy内置的序列化dict的方法,开发者也可以通过设置FEED_EXPORTERS进行自定义扩展,稍后展开,这个东西就是设置一个开发者自己实现的一个EXPORTER。
Storages
格式转换有了,接下来就是把转换好的数据存放在什么地方的问题。Scrapy通过设置一个URI指定,参数是FEED_URL,稍后展开。
Scrapy支持的内置存储后端类型:
- Local Filesystem
- FTP
- S3
- Standard Output
有些存储后端需要另外安装依赖包,如S3需要安装botocore与boto。
Storage URI parameters
设置存储后端的URI可以包含可替换点位符,当真正写数