Spider 是最基本的类,所有编写的爬虫必须继承这个类!
这个类的主要功能(也是spiders模块在框架里的作用):
1.发起起始的请求
2.解析响应,抽取数据和跟进的url
①定义了爬取行为
②定义了数据抽取行为
通俗来说就是解析response,分析得到数据以及产生新的url
以下是Spider源码里面核心模块的主要功能
Spider源代码的init方法:初始化并判定spider名字以及创建首次url列表
Spider源代码的start_requests 方法:生成第一次连接loaddowns的url列表,并把结果返回给引擎
Spider源代码的make_request_from_url方法以及Request类:
make_request_from_url()是实例一个Request对象返回,
Request对象是一个Spider模块到Scheduler到Downloads之间通讯的数据对象,l类似于ajax的json!
类内部的主要方法是对url与body的读写操作!encoding是编码格式
而parse方法则是解析response的功能,分析逻辑都是在这里执行的,根据源码这个方法是必须重写的,否则会抛一个异常
这几个主要方法维持了scrapy框架里Spiders模块的完整流程