scrapy爬取大规模数据存储于文本形式时,如何保证一个文本达到一定大小后,自动存储于另一个新文本中
2019-03-06 20:55
316 查看
import os from scrapy.exporters import JsonLinesItemExporter class BkPipeline(object): def __init__(self): self.time_stamp=0 self.fp=open("file_{}.json".format(str(self.time_stamp)),'ab') self.exporter=JsonLinesItemExporter(self.fp,ensure_ascii=False,encoding='utf-8') def open_spider(self,spider): print("爬虫开始啦") def process_item(self, item, spider): self.exporter.export_item(item) file_size=os.path.getsize('file_{}.json'.format(str(self.time_stamp)))/(1024**2) if file_size>5: self.fp.close() self.time_stamp+=1 self.fp=open("file_{}.json".format(str(self.time_stamp)),'ab') self.exporter = JsonLinesItemExporter(self.fp, ensure_ascii=False, encoding='utf-8') return item def close_spider(self,spider): self.fp.close() print("爬虫结束啦!!!!!!")
相关文章推荐
- 树形模糊查询树,数据达到一定量,如何才能保证性能,保证加载树不卡
- 如何将一个表中的数据INSERT INTO 到另一个表中?
- 如何在一个对话框中调用另一个对话框中的数据
- sql server 如何在一个数据库中操作另一个数据库中的数据
- 如何把一个图像存储到XML数据中,并读取出来
- 一个通用的单元测试框架的思考和设计07-实现篇-自动管理测试数据-如何为自增长主键id赋值
- ValueStack和OGNL达到Struts2形式的数据存储原理
- 如何把一个表中的数据插入到另一个表中去
- 如何把一个程序中 Edit 中的文本赋给另一个程序的 Edit ? - 回复 "Disk_" 的问题
- 一个通用的单元测试框架的思考和设计06-实现篇-自动管理测试数据-如何临时关闭数据外键约束
- 如何提高zookeeper每个结点所能存储的数据大小
- 我在 VSAN 数据存储中创建了一个文件夹,如何删除它呢?
- SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里
- 如何做到让两个一模一样大小的view中的一个实时跟着另一个缩放和移动,位置始终保持一致
- python自动化中如何把测试用例中文本参数数据name=tom,passwd=1111转化为字典存储
- 如何用一个数据库的数据去更新另一个数据库的内容(续)
- [VB.NET]如何将一个Access文件A的数据到导入另一个Access文件B?
- 如何在一个update语句中,用一个表的数据更新另一个表的数据
- SQL : 如何完全复制一个服务器上的数据库A到另一个服务器上的数据库B(包括库A的所有表、试图、存储过程等等)
- 数据表中有字段ID,fatherID即可存储一个树,下面说说如何遍历这个树