zoukankan      html  css  js  c++  java
  • Scrapy的Spider类和CrawlSpider类

    Scrapy shell

    用来调试Scrapy 项目代码的 命令行工具,启动的时候预定义了Scrapy的一些对象

    设置 shell

    Scrapy 的shell是基于运行环境中的python 解释器shell

    本质上就是通过命令调用shell,并在启动的时候预定义需要使用的对象

    scrapy允许通过在项目配置文件”scrapy.cfg”中进行配置来指定解释器shell,例如:

    [settings]

    shell = ipython

    启动 shell

    启动Scrapy shell的命令语法格式:scrapy shell [option] [url|file]

    url 就是你想要爬取的网址,分析本地文件时一定要带上路径,scrapy shell默认当作url

    Spider类

    运行流程

    首先生成初始请求以爬取第一个URL,并指定要使用从这些请求下载的响应调用的回调函数

    在回调函数中,解析响应(网页)并返回,Item对象、Request对象或这些对象的可迭代的dicts

    最后,从蜘蛛返回的项目通常会持久保存到数据库(在某些项目管道中)或导出写入文件

    属性

    name:        spider的名称、必须是唯一的

    start_urls:        起始urls、初始的Request请求来源

    customer_settings: 自定义设置、运行此蜘蛛时将覆盖项目范围的设置。必须将其定义为类属性,因为在实例化之前更新了设置

    logger:       使用Spider创建的Python日志器

    方法

    from_crawler:创建spider的类方法

    start_requests:开始请求、生成request交给引擎下载返回response

    parse:默认的回调方法,在子类中必须要重写

    close:spider关闭时调用

    CrawlSpider类

    Spider类       是匹配url,然后返回request请求

    CrawlSpider类   根据url规则,自动生成request请求

    创建CrawlSpider类爬虫文件

    crapy genspider -t crawl 爬虫名 域名

    LinkExtractor参数

    allow:正则表达式,满足的url会被提取出来

    deny:正则表达式,满足的url不会被提取出来

    estrict_xpaths:路径表达式,符合路径的标签提取出来

    Rule参数

    linkextractor:提取链接的实例对象

    callback:回调函数

    follow:指定是否应该从使用此规则提取的每个响应中跟踪链接

    process_links:用于过滤连接的回调函数

    process_request:用于过滤请求的回调函数

    url去重

  • 相关阅读:
    [na][dhcp]华为DHCP-重要
    [na]win PPTP场景与搭建
    [na]锐起无盘机并发部署多台windows
    [na]wireshark抓包排错-tcp.flags.reset
    [svc]mousedos网络批量部署xp
    [na]诺顿ghost磁盘对刻(备份系统分区或数据分区)
    [na]代理arp导致的问题(路由卷)
    [na]pc加入域认证细节
    【VS开发】【智能语音处理】VS中声音的采集实现
    【VS开发】【智能语音处理】MATLAB 与 音频处理 相关内容摘记
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11831441.html
Copyright © 2011-2022 走看看