【Scrapy】scrapy框架基础知识

1 什么是框架

  框架:Django,flash,tensorflow…
  框架:别人做好的地基,只需要在别人的基础上做自定义的修改。优势是能够协助开发者来实现快速的开发。

2 scrapy框架

  scrapy框架:是用纯python实现一个为了爬取网站数据、提取结构i数据而编写的应用框架,用途非常广发。
  用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常方便。(之前知识爬取网页,需要导入requests库或urllib库来爬取网页,导入beautifulsoup库来解析。。。知识点分开,scrapy把这些东西整合在一起
  scrapy使用Twisted异步网络架构来处理网络通信,可以加快下载速度,不用自己去实现异步架构,并且包含了各种中间件接口,可以灵活的完成各种需求。
在这里插入图片描述
  scrapy Engine(引擎): 负责spider、ItemPipline、DownLoader、Scheduler中间通信,信号数据传——接受其他组件发送来的信号,发送信号给其他组件。
  Scheduler(调度器): 负责接受引擎发送过来的request请求,按照一定的方式进行整理排列,如队,当引擎需要时,交还给引擎。
  Downloader(下载器): 负责下载scrapy engine(引擎)发送的所有requests请求,并将其获取到的responses交还给scrapy engine(引擎),由引擎交给spider来处理
  Spider(爬虫): 它负责处理所有Response从中分析提取数据(Xpath、Re…),获取item字段需要的数据(Iterm类似字典,已经定义好键,此处只需要填入值),并将需要跟进的URL提交给引擎,再次进入Scheduler调度器。
  Item Pipeline(管道): 它负责处理spider中获取到的item,并进行后期处理(详细分析、过滤、存储等)的地方。
  Downloader Middleware(下载中间件): 自定义扩展下载功能的组件
  Spider Middleware(Spider中间件): 自定义扩展和操作引擎和spider中间通信的功能组件(比如进入Spider的Responses和从spider出去的requests)

4 scrapy运作流程

  (1)spider(爬虫)会定义好一开始爬取的url地址,构建请求(Requests)——》将请求交给Engine(引擎)——》引擎再将请求交给Scheduler(调度器)(请求入队列)——》Scheduler(调度器)再将请求交给Downloader(下载器)(请求出队列)下载——》下载器返回响应文件(Response)给引擎——》引擎将响应文件(Response)再传递给spider(爬虫)。
  (2)爬虫从响应文件中提取想要的内容(数据)——》交给Item Pipeline(管道)进行处理、存储等。
  (1)步骤可能是循环多次的操作,为了得到最后想要的结果。如果得到最终想要的数据,再最后执行(2)步骤。
在这里插入图片描述

5 制作scrapy爬虫步骤

  (1)新建项目(scrapy startproject XXX):新建一个新的爬虫项目
  (2)明确目标(编写items.py):该文件是创建项目时已经创建好的,该py文件可以定制想要抓取数据的字段,相当于字典,在该item中定制好字典的键,提取数据的时候存储字典的键对应的内容。
  (3)制作爬虫(spiders/xxspider.py):制作爬虫开始爬取网页
  (4)存储内容(pipelines.py):设计管道存储爬取内容。把item字段处理好后交给这个文件去存储。

5 scrapy框架安装

在这里插入图片描述
在这里插入图片描述

6 scrapy命令行

  Scrapy命令行: Scrapy命令行是为持续运行设计的专业爬虫框架,提供操作的Scrapy命令行。cmd下执行srapy -h
  Scraoy命令行格式: scrapy [options] [args]

  Scrapy常用命令:
    startproject 创建一个新工程 scrapy Startproject [dir]
    genspider 创建一个爬虫 scrapy genspider [options]
    settings 获取爬虫配置信息 scrapy settings [options]
    crawl 运行一个爬虫 scrapy crawl
    list 列出工程中所有爬虫 scrapy list
    shell 启动URL调试命令行 scrapy shell [url]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值