目录
- 1. excel文件的初始化与保存
- 2. 配置管道使用
- 运行测试
- 总结
欢迎关注 『scrapy爬虫』 专栏,持续更新中
欢迎关注 『scrapy爬虫』 专栏,持续更新中
1. excel文件的初始化与保存
安装操作excel文件的库
pip install openpyxl
钩子函数(Hook functions)是指在特定事件发生或特定条件满足时自动调用的函数。在编程中,钩子函数通常用于扩展或自定义框架、库或应用程序的行为,允许开发人员在关键点注入自己的逻辑。
引入概念,钩子函数(callback),这里的close_spider
和process_item
都不是我们主动调用的函数,当我们在前面的spider中vield数据时候,自动触发了process_item
,当我们结束爬虫的时候,自动运行了process_item
.
pipelines.py
import openpyxlclass MyscrapyPipeline:# 初始化我们的excel文件def __init__(self):self.wb=openpyxl.Workbook()self.ws=self.wb.active #拿到默认的被激活的工作表self.ws.title="top250" #工作表的名字改为 top250self.ws.append(("标题","评分","主题")) #增加表头# 开始爬虫时候要进行的操作def open_spider(self,spider):pass# 关闭爬虫时候要进行的操作def close_spider(self,spider):#保存Excel文件self.wb.save("电影数据.xlsx")#关闭工作簿(Workbook)和工作表(Worksheet)self.wb.close()# ,"process_item" 是用于处理爬取到的数据并进行后续处理的方法,item是我们前面yeild返回的数据def process_item(self, item, spider):title=item.get("title","")score=item.get("score","")quato=item.get("quato","")self.ws.append((title,score,quato))#将得到的数据一行写入excelreturn item
2. 配置管道使用
settings.py
# 配置数据管道
# 配置数据管道
ITEM_PIPELINES = {'myscrapy.pipelines.MyscrapyPipeline': 300, #数字越小先执行,后期可以有多个管道# '你的项目名.pipelines.刚刚管道的写的类名': 权重, #权重越小先执行,后期可以有多个管道
}
运行测试
注意运行都要在虚拟环境下运行,如果你用了虚拟环境的话,不知道为什么我一开始明明pycahrm都能显示安装好了openpyxl
,实际上运行后提示没有模块,我在虚拟环境里pip install openpyxl一波就好了
activate(进入虚拟环境)
scrapy crawl douban
执行启动命令
scrapy crawl douban
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2024 mzh
Crated:2024-3-1
欢迎关注 『scrapy爬虫』 专栏,持续更新中
欢迎关注 『scrapy爬虫』 专栏,持续更新中
『未完待续』