前言
许愿复试顺利!希望大家都有好运❤
一、Scrapy是什么?
是一个主流的爬虫框架。因为Scrapy帮我们封装好了一些基础的功能,直接在上面写爬虫可以提高我们开发和爬取的效率。
合格爬虫工程师必备~
二、Scrapy基本构成
1.Engine引擎:核心,没有它这个框架就工作不了。
2.Spiders爬虫:由我们自己编写的爬虫规则,发送什么样的请求,请求下的数据应该如何解析。
3.Scheduler调度器:我们爬取一般不只爬取一个页,我们其他页应该用什么样的顺序爬取,如果爬取到重复的url应该怎么处理。这个调度器就好像是里面有一个队列,用来存取url。
4.Download下载器:就是去网页上下载资源。
5.ITEM Pipelines管道:用来存储爬取到的数据。
三、Scrapy爬取的流程
1.SPIDER–ENGINE: 将url发送给引擎
2.ENGINE–SCHEDULER: 将url发送给调度器,调度器接受到后为其生成一个request对象,存储到一个队列当中。
3.SCHEDULER–ENGINE :由调度器选取合适的url发送给引擎。
4.ENGINE–DOWNLOADER: 引擎把请求扔给下载器。
5.DOWNLOADER–ENGINE :下载器去下载对应网页的资源,并将下载好的数据返回给引擎。
6.ENGINE–SPIDERS :将下载好的数据发送给爬虫。
7.SPIDER–ENGINE :爬虫分析数据,使用Xpath或者beautifulsoup提取有用的数据。并把分析好的数据传给引擎。
8.ENGINE–ITEMPIPELINES: 引擎再将数据传给管道,由管道进行存储(存储到数据库,表格,文档等等由程序员自己编写)。
总结
引擎就像一个公司的BOSS管理各个任务的分配,协调scrapy公司各个员工的工作。