Scrapy作业——章节练习
第二章
- 首先是Scrapy的工作流程分析
- spider要爬取某URL地址的页面时,首先利用spiders构建一个request对象,提交给engine
- request对象随后进入scheduler按照算法进行排队,之后的某个时刻scheduler将其出队,送往downloader
- downloader根据request对象中的url地址发送HTTP请求到网站服务器,之后用服务器返回的http响应构造出一个response对象,其中包含页面的html文本
- response对象最终会被递送给spider的页面解析函数(构造request对象时指定)进行处理,页面解析函数从页面中提取数据,封装成item后提交给engine,item之后被送往item pipeline进行处理,最终可能由exporter以某种数据格式写入文件(csv,json);另一方面,页面解析函数还能从页面中提取链接(URL),构造出新的request对象提交给engine
- 然后是Request对象和Response对象的说明和利用,以此到了Spider的开发流程
回到本章主题“编写Spider”,实现一个Spider子类的过程很像是完成一系列填空题
回答几个爬虫最重要的逻辑
- 爬虫从哪些页面开始?
- 已下载页面,提取哪些数据?
- 爬完当前页面,接下来爬什么页面?
回答好上面三个问题之后,一个爬虫也就开发出来了。
然后爬虫的四个步骤就知道了