SCRAPY数据保存为EXCEL-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

背景

Scrapy默认是可以保存为csv的,可以用excel打开,使用scrapy crawl spider_name -o data.csv即可。但csv格式有诸多不便,比如中文编码问题,比如说逗号分隔,虽然都能解决,但对一般用户来说还是不够友好。

于是就想到了将数据直接保存进xlsx文件里,一劳永逸,可解决所有问题。主要用到了Scrapy的pipeline.pypython的开源库OpenPyxl.

关于pipeline

pipelinescrapy中一个模块,数据被spider抓取之后会由pipeline处理。pipeline中通常会有几个“工序”,数据会按照顺序通过这几个“工序”。如果没有通过某项“工序”,会被抛弃掉。

pipeline一般有几种用途:

  • 清洗HTML数据(比如清洗某无用tag)
  • 确认已抓取数据(比如确认是否包含特定字段)
  • 检查重复(过滤重复数据)
  • 保存已抓取数据入数据库

我们在这里用到的是最后一个功能,只是保存为xlsx文件。

关于OpenPyxl

OpenPyxl是读写 Excel 2007 xlsx/xlsm文件的python库。废话不多说,直接上例子:

 

Scrapy保存为excel

Scrapy数据保存为excel就是在pipeline.py中处理。具体代码如下:

 

为了让pipeline.py生效,还需要在settings.py文件中增加设置,内容如下:

 




HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客