• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

scrapy认识

武飞扬头像
风姿--惊鸿
帮助1

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)
        保存数据
"""
学新通

  • 观自在,本自在,大自在

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgahbbg
系列文章
更多 icon
同类精品
更多 icon
继续加载