背景
Scrapy默认是可以保存为csv的,可以用excel打开,使用scrapy crawl spider_name -o data.csv即可。但csv格式有诸多不便,比如中文编码问题,比如说逗号分隔,虽然都能解决,但对一般用户来说还是不够友好。
于是就想到了将数据直接保存进xlsx文件里,一劳永逸,可解决所有问题。主要用到了Scrapy的pipeline.py和python的开源库OpenPyxl.
关于pipeline
pipeline是scrapy中一个模块,数据被spider抓取之后会由pipeline处理。pipeline中通常会有几个"工序",数据会按照顺序通过这几个"工序"。如果没有通过某项"工序",会被抛弃掉。
pipeline一般有几种用途:
- 清洗HTML数据(比如清洗某无用tag)
- 确认已抓取数据(比如确认是否包含特定字段)
- 检查重复(过滤重复数据)
- 保存已抓取数据入数据库
我们在这里用到的是最后一个功能,只是保存为xlsx文件。
关于OpenPyxl
OpenPyxl是读写 Excel 2007 xlsx/xlsm文件的python库。废话不多说,直接上例子:
from openpyxl import Workbookwb = Workbook() # class实例化ws = wb.active # 激活工作表ws['A1'] = 42 # A1表格输入数据ws.append(['科比', '1997年', '后卫', '赛季报销']) # 添加一行数据wb.save('/home/alexkh/nba.xlsx') # 保存文件原文转载:http://www.shaoqun.com/a/489370.html
敦煌网:https://www.ikjzd.com/w/189
c88是什么:https://www.ikjzd.com/w/1017
isbn:https://www.ikjzd.com/w/174
背景Scrapy默认是可以保存为csv的,可以用excel打开,使用scrapycrawlspider_name-odata.csv即可。但csv格式有诸多不便,比如中文编码问题,比如说逗号分隔,虽然都能解决,但对一般用户来说还是不够友好。于是就想到了将数据直接保存进xlsx文件里,一劳永逸,可解决所有问题。主要用到了Scrapy的pipeline.py和python的开源库OpenPyxl.关于
西集网:https://www.ikjzd.com/w/1353
邮乐网购:https://www.ikjzd.com/w/1776
2019年终旺季稳不稳?大数据告诉你答案!:https://www.ikjzd.com/home/111404
三牙山几点开门?靖西三牙山游玩要多久?:http://tour.shaoqun.com/a/19559.html
在欧洲旅行如何避免被窃:http://tour.shaoqun.com/a/68530.html
没有评论:
发表评论