zoukankan      html  css  js  c++  java
  • 二十、scrapy中的Request对象和Response对象

    1、Request对象

      一个Request对象代表着一个HTTP请求,通常在Spider类中产生,然后传递给下载器,最后返回一个响应。

      类原型:class scrapy.http.Request(

            url(string),  # 请求的连接

            callback(callable),  #指定用于解析请求响应的方法,如果没有指定,默认使用spider的parse()方法

            method(string) = "GET",  # HTTP请求方式,默认为GET

            headers(dict),  # 请求头,如果传入的为None,请求头不会被发送

            meta(dict),  # 可以用来初始化Request.meta属性,比如传值给下一个parse_func()。

            body(str or unicode),  # 请求的body

            cookies(dict or list),  # 请求的cookie信息,接受字典{}或列表字典[{}]

            endcoding(string)='utf-8',  #请求的编码,默认为UTF-8

            priority(int)=0,  # 请求的优先级,默认为0,优先级被调度器用来安排处理请求的顺序

            dont_filter(boolean)=False,  # 表明该请求不应由调度器过滤。

            errback(callable),  # 如果在处理请求的过程中出现异常,指定的方法将会被调用

          )

      常用属性和方法:url、method、headers、body、meta、copy()、replace()

      scrapy为Request.meta定义了一些特殊的键值,如Request.meta = {"dont_merge_cookies":True},其他的还有dont_redirect、dont_retry等。

      Request的子类FormRequest:https://www.cnblogs.com/nuochengze/p/12875876.html

      FormRequest的类方法form_response:  https://www.cnblogs.com/nuochengze/p/12875947.html

    2、Response对象

      Response对象代表着HTTP响应,Response通常是从下载器获取然后交给Spider处理。

      类原型:scrapy.http.Response(

            url(string),  #响应的url

            status(int)=200,  #响应码,默认为200

            headers(dict),  #响应头信息

            body(str),  #响应的body

            meta(dict),  #用来初始化Response.meta

            flags(list),  #用来初始化Response.flags

          )

      常用的方法和属性:url、status、headers、body、request、meta、flags、copy()、replace()、urljoin(url)(用来将Response.url和一个相对url,构造成一个绝对url,相当于对urlparse.urljoin进行包装)

      Response有一个子类TextResponse,TextResponse在Response的基础上添加了智能编码的功能。

      TextResponse的类原型:scrapy.http.TextResponse(url,[encoding[,...]]

  • 相关阅读:
    warshall、
    简单的php单例再次理解
    windows操作系统,在phpstudy集成环境,安装redis扩展,并启用redis服务和客户端
    php单例模式相关知识
    jui结合ajax非表单提交刷新页面
    php截取想要的字符串
    xmlToArray和arrayToXml
    jquery时间戳转换成格式化时间
    腾讯地图调用获取经度纬度代码
    随机生成自定义位数英文字符串
  • 原文地址:https://www.cnblogs.com/nuochengze/p/13151873.html
Copyright © 2011-2022 走看看