【Python网络爬虫基础】week04

Scrapy爬虫框架

Scrapy的安装

pip install scrapy  #安装
scrapy -h  #测试效果

“5+2”结构:5个模块,2个中间件
用户需要编写的模块有:SPIDERS、ITEM PIPELINES

框架解析

Engine

  • Engine从Spider处获得爬取请求(Request)
  • Engine将爬取请求转发给Schedule,用于调度

Downloader

  • 根据请求下载网页

SCHEDULE

  • 对所有爬取请求进行调度管理

中间件:Downloader Middleware

  • 目的:实施Engine、Schedule和Downloader之间进行用户可配置的控制
  • 功能:修改、丢弃、新增请求或响应

Spider

  • 解析Downloader返回的响应
  • 产生爬取项
  • 产生额外的爬取请求

Item Pipelines

  • 以流水线方式处理Spider产生的爬取项
  • 由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
  • 可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库

中间件:Spider Middleware

  • 目的:对请求和爬取项的再处理
  • 功能:修改、丢弃、新增请求或爬取项
requests库和Scrapy爬虫的比较
requestsScrapy
页面级爬虫网站级爬虫
功能库框架
并发性考虑不足,性能较差并发性好,性能较高
重点在于页面下载重点在于爬虫结构
定制灵活一般定制灵活,深度定制困难
上手十分简单入门稍难
Scrapy爬虫的常用命令
命令说明格式
startproject创建一个新工程scrapy startproject <name> [dir]
genspider创建一个爬虫scrapy genspider [options] <name> <domain>
settings获得爬虫配置信息scrapy settings [options]
crawl运行一个爬虫scrapy crawl <spider>
list列出工程中所有爬虫scrapy list
shell启动URL调试命令行scrapy shell [url]
Scrapy爬虫的第一个实例

步骤1:建立一个Scrapy爬虫工程

scrapy startproject python123demo

步骤2:在工程中产生一个Scrapy爬虫

scrapy genspider demo python123.io

步骤3:配置产生的spider爬虫
配置:(1)初始化URL地址 (2)获取页面后的解析方式

步骤4:运行爬虫,获取网页

scrapy crawl demo
yield关键字的使用

yield:生成器

  • 包含yield语句的函数是一个生成器
  • 生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值
  • 生成器是一个不断产生值的函数
scripy爬虫的基本使用
  • 步骤1:创建一个工程和Spider模板
  • 步骤2:编写Spider
  • 步骤3:编写Item Pipeline
  • 步骤4:优化配置策略

数据类型
Request类
Response类
Item类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值