爬虫---快速认识scrapy
1.写一个爬虫,需要做很多事情。比如:发送网络请求,数据解析,数据存储,反扒虫虫机制(更换IP代理,设置请求头等),异步请求等。这些工作如果每次都要从零开始写的话,比较浪费时间。因此scrapy吧一些基础的东西封装好了,在他上面写爬虫可以变的更加高效(爬去效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用scrapy框架来解决。
2.scrapy框架模块功能:Scrapy Engine(引擎):Scrapy框架的核心部分。负责在Spider和ItemPipeline,Downloader,Scheduer中间通信,传递数据。
3.Spider(爬虫):发送需要爬取的链接给引擎,最后引擎吧其他模块请求回来的数据在发送给爬虫,爬虫就去解析想要的数据。这个部分是我们开发者自己写的,因为要爬取哪些链接,页面中的哪些数据是我们需要的,都是由程序员自己决定。
4.Scheduler(调度器):负责接收引擎发送过来的请求,并按照移动的方式进行排列和整理,负责调度请求的 顺序等。
5。Downloader(下载器):负责接收引擎传过来的下载请求,然后去网络上下载对应的数据在交还给引擎。
6.Item Pipeline(管道):负责将Spider(爬虫)传递过来的数据进行保存。具体保存在哪里,应该看开发者自己的需求
7.Downloader Middlewares(下载中间件):可以扩展下载器和引擎之间通信功能的中间件
8.Spider Middlewares(Spider中间件):可以扩展引擎和爬虫之间通信功能的中间件
9.创建项目: scrapy startproject项目名
文件认识:
scrapy.cfg项目的配置信息,主要为scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在setting.py文件中)
item.py设置数据存储模板,用于结构化数据如:Django的Model
pipelines:数据处理行为,如:一八百年结构化的数据持久化
setting.py配置文件,如:递归的层数,并发数,延迟下载等
spiders爬虫目录,如:创建文件,编写爬虫规则