python网络爬虫(五)

Scrapy爬虫框架结构

在这里插入图片描述

Engine

  1. 控制所有模块之间的数据流
  2. 根据条件触发事件
    不需要用户修改

Downloader

根据请求下载网页
不需要用户修改

Scheduler

对所有爬取请求进行调度管理
不需要用户修改

Downloader Middleware

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

Spider

  1. 解析Downloader返回的响应(Response)
  2. 产生爬取项(scraped item)
  3. 产生额外的爬取请求(Request)
    需要用户编写配置代码

Item Pipelines

  1. 以流水线方式Spider产生的爬取项
  2. 由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
  3. 可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库
  4. 需要用户编写配置代码

Spide Middleware

目的:对请求和爬取项的再处理
功能:修改、丢弃、新增请求或爬取项
用户可以编写配置代码

requests 和 Scrapy

相同点

两者都可以进行页面请求和爬取,python爬虫的两个重要技术路线
两者可用性都好,文档丰富,入门简单
两者都没有处理js、提交表单、应对验证码等功能(可扩展)

区别

在这里插入图片描述

Scrapy常用命令

命令说明格式
startproject创建一个新工程scrapy startproject < name >[dir]
genspider创建一个爬虫scrapy genspider [options] < name > < domain >
crawl运行一个爬虫scrapy crawl < spider >
settings获得爬虫配置信息scrapy settings [options]
list列出工程中所有爬虫scrapy list
shell启动URL调试命令行scrapy shell [url]

创建Scrapy爬虫

步骤1:建立一个Scrapy爬虫工程
选取一个目录(D:\pycodes\),然后执行如下命令:

D:\pycodes>scrapy startproject python123demo

工程目录
在这里插入图片描述
在这里插入图片描述

步骤2:在工程中产生一个Scrapy爬虫
进入工程目录(D:\pycodes\python123demo),然后执行如下命令:

D:\pycodes\python123demo>scrapy genspider demo python123.io

该命令作用:

  1. 生成一个名称demo的spider
  2. 在spiders目录下增加代码文件demo.py
    #步骤3:配置产生的spider爬虫
    配置:
  3. 初始化URL地址
  4. 获取页面后的解析方式
    步骤四:运行爬虫,获取网页
    在命令行下,执行如下命令:
D:\pycodes\python123demo>scrapy crawl demo

demo爬虫被执行,捕获页面存储在demo.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值