1:什么是Scrapy框架
Scrapy一个开源和协作的框架是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。因此Scrapy使用了一种非阻塞(又名异步)的代码来实现并发。是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。
2:Scrapy构架图:
3:牢记它们各个的作用
3:创建项目
4:项目目录
5:解析器
最后整理一下scrapy的操作流程:
- name
- start_url, start_requests
- request对象,封装:请求相关和回调函数
- reponse对象,封装:响应相关和请求相关
- 获取start_requests中返回的【迭代器】
- 执行爬虫中间件 process_start_requests
- 去重规则:request_seen
- 放入调度器,requests可能会有序列化操作,===> enqueue_request
- 去调度器中获取任务, ===> next_request
- 下载中间件
- 设置请求头
- 代理【内置 _proxy;自定义下载中间件】
- 自己下载返回response
- 爬虫的回调函数 parse
yield request对象
yield item对象
- pipeline
- 扩展,基于信号
- Https