首先需要安装下openpyxl,写入Excel是用的这个库
pip install openpyxl
根据需要存储的item字段写入到Sheet的第一行,假如存储的字段分别是sources,url,title的话,如下代码所示,会在wuliao.xlsx中新建一个ware_detail的Sheet来存放数据,通过isinstance判断item的类型,存储指定的item
from openpyxl import Workbook
'''
author: tieyongjie
'''
class ExcelPipeline(object):
def __init__(self):
self.wb = Workbook()
self.wb.create_sheet("ware_detail")
self.ws = self.wb["ware_detail"]
self.ws.append(
['sources', 'url', 'title'])
def process_item(self, item, spider):
if isinstance(item, FactoryMaterialItem):
self.ws.append([item['sources'], item['url'], item['title']])
return item
def __del__(self):
# 调用__del__() 销毁对象,释放其空间
self.wb.save('wuliao.xlsx')
最后需要在settings中打开 ITEM_PIPELINES 中存储Excel的管道就可以愉快的存储数据了,如下图
ITEM_PIPELINES = {
'HAHA.pipelines.ExcelPipeline': 300,
}
该博客介绍了如何利用Python的openpyxl库将爬虫抓取的数据存储到Excel文件中。首先,通过pip安装openpyxl,然后创建Workbook对象,定义Sheet,并将特定字段如'sources', 'url', 'title'写入Sheet的第一行。在`process_item`方法中,检查item类型,如果符合要求则将数据追加到Sheet中。最后,确保在程序结束时保存Excel文件。在Scrapy设置中启用这个ExcelPipeline即可实现数据存储。
3700

被折叠的 条评论
为什么被折叠?



