scrapy爬虫保存为csv文件的技术分析
来源:互联网 发布:小说逆命淘宝 编辑:程序博客网 时间:2024/06/05 13:35
由于工作需要,将爬虫的文件要保存为csv,以前只是保存为json,但是目前网上很多方法都行不通,主要有一下两种:
from scrapy import signalsfrom scrapy.contrib.exporter import CsvItemExporterclass CSVPipeline(object): def __init__(self): self.files = {} @classmethod def from_crawler(cls, crawler): pipeline = cls() crawler.signals.connect(pipeline.spider_opened, signals.spider_opened) crawler.signals.connect(pipeline.spider_closed, signals.spider_closed) return pipeline def spider_opened(self, spider): file = open('%s_items.csv' % spider.name, 'w+b') self.files[spider] = file self.exporter = CsvItemExporter(file) self.exporter.fields_to_export = [list with Names of fields to export - order is important] self.exporter.start_exporting() def spider_closed(self, spider): self.exporter.finish_exporting() file = self.files.pop(spider) file.close() def process_item(self, item, spider): self.exporter.export_item(item) return item
第二种:import csvimport itertoolsclass CSVPipeline(object): def __init__(self): self.csvwriter = csv.writer(open('items.csv', 'wb'), delimiter=',') self.csvwriter.writerow(['names','starts','subjects','reviews']) def process_item(self, item, ampa): rows = zip(item['names'],item['stars'],item['subjects'],item['reviews']) for row in rows: self.csvwriter.writerow(row) return item
结果行不通,无法保存。后来经过研究发现,无法保存的根本原因在于爬虫得到的数据格式和保存文件的格式不一样,修改格式后,保存成功,如有需要,请扣扣联系:1241296318
保存以后直接用excel打开是乱码
用其他工具editplus打开,另存为bom编码格式
再次打开,则文件成功
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^
0 0
- scrapy爬虫保存为csv文件的技术分析
- 单个爬虫文件使用scrapy保存为csv格式
- 保存为excel,CSV文件
- BeautifulSoup爬虫之保存CSV文件
- Scrapy网络爬虫实战[保存为Json文件及存储到mysql数据库]
- 遍历文件夹下后缀为csv的文件,保存文件名
- scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据
- scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据
- C#:读取csv文件,保存为csv文件
- 把页面信息保存为csv文件
- CSV文件保存为utf8编码格式
- 数据分析——以斗鱼为实例解析requests库与scrapy框架爬虫技术
- 关于Excel保存为csv文件时提示“可能含有与CSV(逗号分隔)不兼容的功能”
- VB6中将datagrid中的内容保存为csv文件的代码
- python通过串口读取GPS NMEA格式的数据,并保存为csv文件
- Save semi-colons CSV(保存分号分隔的CSV文件)
- 从ldap xmpp拿数据保存为csv文件
- 使用js把数据保存为csv文件
- IDE_Webstorm11 激活
- 感知机与梯度下降算法
- 合唱队,对n个人挑出n-k个人,剩下k个人排成合唱队
- Zookeeper JavaApi 增删改查
- Android群英传——第五章实现滑动的7种方法(一二三)
- scrapy爬虫保存为csv文件的技术分析
- poj1144 割点模板
- shell中if条件字符串、数字比对,[[ ]]和[ ]区别
- java自定义hive sparksql thriftServer连接池
- 公共知识-Linux常用命令
- HTML/CSS学习汇总(1)
- linux的原子操作学习总结
- Java利用Zxing生成二维码
- 安装、卸载apk的几种方式