Scrapy 框架

scrapy定义:

scrapy是用python 实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 

异步: 调用在发出之后,这个调用就直接返回,不管有无结果。

非阻塞:关注的是程序在等待调用结果(消息,返回值)时的状态,指在不能立刻得到结果之前,该调用不会阻塞当前线程

Scrapy Englne(引擎):

    负责Spider(爬虫)、item pipeline(管道)、Downloader(下载器)、scheduler(调度器)中间的通讯,信号、数据、传递等。

Scheduler(调度器):

    它负责接受引擎发送过来的request请求,并按照一定的方式进行整理排队,入队,当引擎需要时、交还给引擎。

Downloader(下载器):

    负责下载Scrapy Engine (引擎)发送过来的的所有requests请求,并将其获取到的Responses交给Scrapy Engine(引擎),由引擎交给Spider来处理,

Spider(爬虫):

    负责处理所有Responses,从中分析提取数据,获取ltem字段需要的数据,并将西药跟进的URL提交给引擎,再次进入Scheduler(调度器)。

ltem Pipeline(管道):

    它负责处理spider中过去到Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。

Downloader Middlewares(下载中间件):

    可以自定义扩展下载功能的组件(代理、cokies等).

Spider Middlewares(spider中间件):

    可以自定义扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Response;和从Spider出去的Requests)。

scrapy框架 可以直接用 response.css response.xpath 等解析器直接进行解析。

在scrapy框架中进行数据解析是 用到 extract()方法和extract_first('').

创建目录:scrapy  startproject 爬虫名称

创建爬虫文件: scrapy genspider 爬虫名字 域名

运行爬虫文件: scrapy crawl 爬虫文件名称

response:

response 相应结果

response.url 得到请求的url

response.text 得到相应的字符串内容

response.status 相应状态码

response.headers 得到响应头部

scrapy框架下载图片:

Scrapy提供了一个 item pipeline ,来下载属于某个特定项目的图片,比如,当你抓取产品时,也想把它们的图片下载到本地。

在 settings 中可以将管道打开。

你可能感兴趣的:(Scrapy 框架)