Scrapy学习第一节

Scrapy 2021/9/7

Scrapy是基于Twisted的异步处理框架

同步是按顺序执行,执行完一个再执行下一个,需要等待、协调运行。

异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。

安装

pip install scrapy

若提示找不到win32api模块

pip install pypiwin32

架构

在这里插入图片描述

  1. Scrapy Engine:引擎,负责各组件之间通讯和数据的传递
  2. Scheduler:调度器(队列)负责接受引擎发送过来request请求,将请求排队。当引擎需要请求数据时,它将请求交给引擎。
  3. Downloader:下载器,负责发送请求并下载数据。
    (Scheduler->Engine->Downloader),再将获取的Response交还给引擎,再交给爬虫解析器解析。
  4. Spiders:爬虫解析器,用于分析和提取数据。负责处理所有的Response。如果Response包含其他的请求(比如下一页的链接),spiders会把url提交给引擎(Spiders->Engine->Scheduler)
  5. Item Pipline:数据管道,负责处理Spiders中获取的数据,进行后续处理(过滤,存储等)
  6. Downloader Middlewares:下载中间件,封装代理,隐藏
  7. Spider Middlewares:Spider中间件,Engine和Spider通信功能的组件。

数据如何在Scrapy中流动

在Spiders中写一个入口url

Spiders(传递入口URL)->Engine->Scheduler(排入队列并传递队列)->Engine(拿到队列)->Downloader(下载,得到Response)->Engine->Spiders(解析都拿到数据)->Item Pipline(进行数据存储或清洗等)

若Downloader没有下载好:Downloader(反馈请求)->Engine->Scheduler(再次排队调度)

爬虫项目

创建项目:

scrapy startproject project_name

入手

创建目标spider文件

scrapy genspider project_name target_url

运行

scrapy crawl project_name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值