版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
——个人笔记(我的课程结束了,哈哈,但是我会用这些知识去弄点小项目,并记录下来,也可以供大家一起探讨哈哈,我也会继续学习爬虫,如果有有趣的知识点,我会继续记录下来,希望十一篇对你们有帮助,一起加油!)
一系列:
python爬虫(一)
python爬虫(二)
python爬虫(三)
python爬虫(四)
python爬虫(五)
python爬虫(六)
python爬虫(七)
python爬虫(八)
python爬虫(九)
python爬虫(十)
Scrapy存储方式
-
csv存储方式
存储成csv文件的方法比较简单,只需在settings.py文件里,添加如下的代码即可。
FEED_URI='./storage/data/%(name)s.csv' FEED_FORMAT='CSV' FEED_EXPORT_ENCODING='ansi'
FEED_URI是导出文件的路径。
'./storage/data/%(name)s.csv'
,就是把存储的文件放到与settings.py文件同级的storage文件夹的data子文件夹里。FEED_FORMAT 是导出数据格式,写CSV就能得到CSV格式。
FEED_EXPORT_ENCODING 是导出文件编码,ansi是一种在windows上的编码格式。
-
Excel
存储成Excel文件的方法要稍微复杂一些,我们需要先在setting.py里设置启用ITEM_PIPELINES,找到下面代码并且设置如下:#需要修改`ITEM_PIPELINES`的设置代码(去掉注释): # Configure item pipelines # See https://doc.scrapy.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { 'jobuitest.pipelines.JobuitestPipeline': 300, }
接着,我们就可以去编辑pipelines.py文件。存储为Excel文件,我们依旧是用openpyxl模块来实现,代码如下:
import openpyxl class JobuiPipeline(object): #定义一个JobuiPipeline类,负责处理item def __init__(self): #初始化函数 当类实例化时这个方法会自启动 self.wb =openpyxl.Workbook() #创建工作薄 self.ws = self.wb.active #定位活动表 self.ws.append(['公司', '职位', '地址', '招聘信息']) #用append函数往表格添加表头 def process_item(self, item, spider): #process_item是默认的处理item的方法,就像parse是默认处理response的方法 line = [item['company'], item['position'], item['address'], item['detail']] #把公司名称、职位名称、工作地点和招聘要求都写成列表的形式,赋值给line self.ws.append(line) #用append函数把公司名称、职位名称、工作地点和招聘要求的数据都添加进表格 return item #将item丢回给引擎,如果后面还有这个item需要经过的itempipeline,引擎会自己调度 def close_spider(self, spider): #close_spider是当爬虫结束运行时,这个方法就会执行 self.wb.save('./jobui.xlsx') #保存文件 self.wb.close() #关闭文件