Scrapy学习笔记VIII--Feed exports
来源:互联网 发布:惰性求值 js 编辑:程序博客网 时间:2024/06/05 07:20
当爬取完数据后,可以产生一个“export file”(输出文件)–>export feed(反馈报告),可以被其他系统所使用消耗
scrapy提供 Feed Exports,可以为items产生一个feed(文件如json,CSV,xml等),然后格式化的存储到后端
Serialization formats
当你爬取数据后,想把数据保存在本地路径(如json格式)或者其他地方,scrapy 使用(Item exporters),支持以下格式:
- JSON ———–JsonItemExporter
- JSON lines — JsonLinesItemExporter
- CSV ————CsvItemExporter
- XML ———–XmlItemExporter
- Pickle ———PickleItemExporter
- Marshal ——MarshalItemExporter
你也可以扩展其他格式,通过 FEED_EXPORTERS setting 来设置
Storages
当为item数据定义好输出格式后,使用URI定义(FEED_URI setting)多种选择保存到后端:
- 本地文件
- FTP
- S3 需要其他组件
- 标准的输出
Storage URI parameters
添加参数
- %(time)s — 时间戳
- %(name)s — spider 的名字
%(site_id)s — 当feed被创建后spider.site_id属性变量会替换参数值。
ftp://user:password@ftp.example.com/scraping/feeds/%(name)s/%(time)s.json
s3://mybucket/scraping/feeds/%(name)s/%(time)s.json
Storage backends 存储到后端
Local filesystem (存储到本地路径)
- URI scheme : file
- eg : file:///tmp/export.csv
- 不需要其他组件
FTP
- URI scheme : ftp
- eg : ftp://user:pass@ftp.example.com/path/to/export.csv
- 不需要其他组件
S3
- URI scheme :s3
- eg :
s3://mybucket/path/to/export.csv
- eg :
s3://aws_key:aws_secret@mybucket/path/to/export.csv
- 需要其他组件 botocore 、boto
- URI scheme :s3
Standard output
Settings
feed exports 的一些配置:
FEED_URI
FEED_FORMAT
FEED_EXPORT_ENCODING
FEED_EXPORT_FIELDS :
FEED_EXPORT_FIELDS = ["foo", "bar", "baz"] #
FEED_STORE_EMPTY
FEED_STORAGES : default {}
FEED_STORAGES_BASE
{ '': 'scrapy.extensions.feedexport.FileFeedStorage', 'file': 'scrapy.extensions.feedexport.FileFeedStorage', 'stdout': 'scrapy.extensions.feedexport.StdoutFeedStorage', 's3': 'scrapy.extensions.feedexport.S3FeedStorage', 'ftp': 'scrapy.extensions.feedexport.FTPFeedStorage',}
FEED_EXPORTERS : default {}
FEED_EXPORTERS_BASE
{ 'json': 'scrapy.exporters.JsonItemExporter', 'jsonlines': 'scrapy.exporters.JsonLinesItemExporter', 'jl': 'scrapy.exporters.JsonLinesItemExporter', 'csv': 'scrapy.exporters.CsvItemExporter', 'xml': 'scrapy.exporters.XmlItemExporter', 'marshal': 'scrapy.exporters.MarshalItemExporter', 'pickle': 'scrapy.exporters.PickleItemExporter',}FEED_EXPORTERS = { 'csv': None, #禁止使用CSV格式}
FEED_STORE_EMPTY
FEED_EXPORT_ENCODING
- Scrapy学习笔记VIII--Feed exports
- Scrapy爬虫入门教程十 Feed exports(导出文件)
- scrapy 使用Feed exports 输出json lines文件
- node.js 学习笔记之 module.exports与exports
- scrapy学习笔记--scrapy命令
- Scrapy 学习笔记(一)
- scrapy学习笔记--Items
- Scrapy框架学习笔记
- Scrapy-学习笔记
- scrapy学习笔记
- scrapy学习笔记
- Scrapy学习笔记一
- Scrapy学习笔记
- Scrapy学习笔记
- Python学习笔记-----Scrapy
- scrapy学习笔记
- Scrapy学习笔记(1)
- Scrapy学习笔记(2)
- Android 通过apk文件获取包名
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- spark 2版本 中stage划分和stage作业提交详解
- task-node、decision和node
- javaweb学习总结(二十三)——jsp自定义标签开发入门
- Scrapy学习笔记VIII--Feed exports
- 微信开发之自定义菜单
- javaweb学习总结(二十四)——jsp传统标签开发
- loghub学习记录
- Hibernate只查询前8条记录
- struts2标签库详解
- javaweb学习总结(二十五)——jsp简单标签开发(一)
- Json 解析之google.gson
- jsp页面访问后台方法显示数据