Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给ScrapyEngine(引擎),由引擎交给Spider来处理。
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。
===================================================================================
当我们用scrapy框架创建一个项目的时候我们都需要在控制台(终端)输入命令来创建/执行一个项目或者一个爬虫文件。
在终端输入创建项目的指令
scrapy startproject 项目的名字
注:项目的名字不可以由数字开头或者带有中文!
实例:
这里需要在spiders文件夹中创建爬虫文件,所以在创建爬虫文件前需要将目录转换到spiders目录下
cd 项目的名字\项目的名字\spiders
随后创建爬虫文件
scrapy genspiders 爬虫文件的名字 爬取的网页
实例:
同样,运行爬虫文件时,也是需要在终端上输入指令的
scrapy crawl 爬虫文件的名字
实例:
**注:在执行爬虫文件的时候,存在robot协议即君子协议。每个网站都制定了君子协议,使得不能让其他网站爬取网页数据,因此我们需要在配置文件中将robot协议注释掉才可以获得网页内容。
**
===========================================================================================
response.text
response.body
直接利用xpath语法来解析response中的内容
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!