IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> scrapy认识 -> 正文阅读

[网络协议]scrapy认识

1.scrapy的概念及流程

  1. scrapy是一个Python编写的开源网络爬虫框架,它是一个被设计用于爬取网络数据,提取结构性数据的框架
  2. scrapy 使用了Twisted异步网络框架,可以加快下载速度
  3. scrapy文档

2.scrapy框架的作用-少量的代码,快速的爬取

3.scrapy的工作流程

  1. 爬虫流程
    1. 资源定位 url
    2. 发起请求,获取响应 response
    3. 解析数据 lxml json bs4
    4. 保存数据
  2. 上述流程改写:
    在这里插入图片描述
  3. scrapy流程
    在这里插入图片描述
    绿线表示数据流
    所有的模块相互独立,置于引擎交互
    1. scarpy的三个内置对象
      1. request请求对象:由 url method post_data headers等构成
      2. response响应对象:由url body status headers 等构成
      3. item数据对象:本质是字典
    2. scrapy每个模块的作用:
      在这里插入图片描述
"""
1.scrapy初识
    创建项目 scrapy startproject 项目名称
    生成一个爬虫 scrapy genspider 爬虫名 允许爬取的域名
    运行框架:scrapy crawl 爬虫名
    1.资源定位,发起请求(爬虫文件spider)
    2.清洗,提取数据(爬虫文件spider)
    3.定义数据模板item,并传数据到管道(items文件)
    4.管道保存数据(管道文件pipline)
2.项目结构文件认识:
    items:保存数据定义文件
    middlewares:自定义中间件文件
    pipelines :管道,保存数据
    settings:设置文件,可开启管道等
    spider:爬虫文件,资源定位,发起请求获取响应,清洗提取数据,  
        接受下载中间件传过来的response,就是响应数据
        #注意:类中必须有parser的解析
        #若提取的url要再次发起请求,需属于允许域名范围,起始url不用遵守
        #启动爬虫是在项目路径下启动的
        #解析函数parser中yield传递的对象只能是:BaseItem,Request,dict,None
        提取数据:
            response.xpath()返回的是一个 类似 列表的类型,其中包含selector对象,操作和列表一些额外的方法
            extract额外方法():返回的是一个包含有字符串的列表
            extract_first():返回列表中的第一个字符串,列表为空返回None
            get():得到第一条数据
            getall():取出所有数据,以列表形式展现
        复习response常用:
            response.url:当前响应的url
            response.request.url:当前响应对应的请求的url地址
            response.headers:响应头
            response.request.headers:当前响应的请求头
            response.body:响应体,也就是html代码,byte类型
            response.status:响应状态码
        保存数据(利用pipeline管道)
            可定义一个管道类,重写process_item(中编写保存逻辑)方法
            process_item方法处理完item之后必须返回给引擎 即return item
            重定义的管道类,要在配置文件settings中,启用并配置管道
                配置项中的键:项目目录.文件.定义的管道类
                配置项中的值:为使用管道的顺序,值越小越优先执行,一般在1000以内

        
1.scrapy组成部分:
    1.引擎:负责总体的是调度--大脑
    2.调度器(scheduler)
        接收引擎发送过来的request对象
        弹出request对象,交给引擎
    3.下载器(downloader)
        接收引擎发送过来的request对象
        发送请求,获取响应,把响应给引擎
    4.爬虫组件(spiders)
        接收引擎传递过来的response,解析response
        提取出来的数据交给引擎
        提取url,构造Requests请求,交给引擎
    5.管道(pipeline)
        保存数据
"""



  • 观自在,本自在,大自在
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:45:58  更:2021-11-10 12:47:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 21:32:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码