29、Scrapy框架使用

发布时间 2024-01-03 11:06:52作者: 五杀摇滚小拉夫
Scrapy的功能强大,爬取效率高,相关扩展组件多,可配置和可拓展程度非常高。
基于Twisted的异步处理框架,是纯python实现的爬虫框架,架构清晰,模块之间耦合度低,可扩展型极强,可以灵活完成各种需求。

Scrapy架构重要组成:
Engine:引擎,处理系统的数据流数据、触发事务,框架核心。
Item:项目,定义爬取结果的数据结构,爬取的数据会被赋值成该、Item对象。
Scheduler:调度器,接受引擎发送的请求并将其加入队列中,若引擎再次请求得时候将请求提供给引擎。
Downloader:下载器,下载网页内容并将网页内容返还给蜘蛛。
Spider:蜘蛛,定义了爬虫的逻辑和网页的解析规则,主要负责响应并生成提取结果和新的请求。
Item Pipline:项目管道,负责处理蜘蛛从网页抽取的项目,主要任务是清洗、验证和存储数据。
Downloader Middlewares:下载器中间件,位于引擎和下载器之间的钩子结构,主要处理引擎与下载器之间的请求个响应。
Spider Middlewares:蜘蛛中间件,位于引擎和蜘蛛之间的钩子结构,主要处理蜘蛛输入的响应和输出的结果和新的请求。

通过多个组件的相互协作、不通协作完成不同的工作、组件对异步处理的支持,Scrapy最大限度的利用了网络带宽,大大提高了数据爬取和处理的效率。

 

Scrapy.cfg :Scrapy项目的配置文件,定义了项目的配置文件路径,部署相关信息等内容。
items.py:定义了Item数据结构,所有的Item的定义都可以放在这里。
pipline.py:定义Item Pipline的实现,所有的Item Pipeline的实现都可以在这里。
settings.py:定义项目的全局配置。
middlewares.py:定义了
Spider Middlewares和Downloader Middlewares的实现。
spiders:包含了一个个spider的实现,每一个spider都有一个文件。
创建一个范例: 
scrapy startproject GGSJPT