Request 对象

  • Request构造器方法的参数列表:

    • Request(url [, callback=None, method='GET', headers=None, body=None,cookies=None, meta=None, encoding='utf-8', priority=0,dont_filter=False, errback=None, flags=None])
  • 各参数说明:
    • url(必选)

      • 请求页面的url地址,bytes或str类型。
    • callback
      • 页面解析函数,Callback类型,Request请求对象的页面下载完成后,由该参数指定的页面解析函数解析页面,如果未传递该参数,默认调用Spider的parse方法。
    • method
      • HTTP请求的方法,默认为‘GET’。
    • headers
      • HTTP请求的头部字典,dict 类型。
    • body
      • HTTP请求的正文,bytes 或 str类型。
    • cookies
      • Cookie信息字典,dict 类型。
    • meta
      • Request 的元数据字典,dict 类型,用于给框架中其他组件传递信息,比如中间件 Item Pipeline。其他组件可以使用Request 对象的 meta 属性访问该元数据字典 (request.meta), 也用于给响应处理函数传递信息。
    • encoding
      • url 和 body 参数的编码默认为'utf-8'。如果传入的url或body参数是str 类型,就使用该参数进行编码。
    • priority
      • 请求的优先级,默认值为0,优先级高的请求优先下载。
    • dont_filter
      • 默认情况下(dont_filter=False),对同一个url地址多次提交下载请求,后面的请求会被去重过滤器过滤(避免重复下载)。如果将该参数置为True,可以使请求避免被过滤,强制下载。例如:在多次爬取一个内容随时间而变化的页面时(每次使用相同的url),可以将该参数设置为True。
    • errback
      • 请求出现异常或出现HTTP错误时(如404页面不存在)的回调函数。

Response 对象

  • 概念:

    • Response 对象用来描述一个HTTP响应,Response只是一个基类,根据响应内容的不同有如下子类:

      • TextResponse
      • HtmlResponse
      • XmlResponse
    • 当一个页面下载完成时,下载器依据HTTP响应头部中的Content-Type信息创建某个Response的子类对象。通常一般是HtmlResponse子类。
  • HtmlResponse 对象的属性及方法:
    • url

      • HTTP 响应的url地址,str 类型。
    • status
      • HTTP 响应的状态码,int 类型。
    • headers
      • HTTP 响应的头部,dict 类型。可以调用get或getlist方法对其进行访问。
    • body
      • HTTP 响应正文,bytes 类型。
    • text
      • 文本形式的HTTP响应正文,str 类型,它是由 response.body 使用 response.encoding 解码得到的。

        • response.text = response.body.decode(response.encoding)
    • encoding
      • HTTP 响应正文的编码,它的值可能是从HTTP响应头部或正文中解析出来的。
    • request
      • 产生该HTTP 响应的Request对象。
    • meta
      • 即 response.request.meta, 在构造 Request对象时,可将要传递给响应处理函数的信息通过meta参数传入;响应处理函数处理响应时,通过response.meta 将信息取出。
    • selector
      • Selector 对象用于在Response 中提取数据。
    • xpath(query)
      • 使用XPath选择器在Response中提取数据;它是 response.selector.xpath 方法的快捷方式。
    • css(query)
      • 使用 CSS选择器在Response中提取数据;它是 response.selector.css方法的快捷方式。
    • urljoin (url)
      • 用于构造绝对 url 。当传入的url参数是一个相对地址时,根据response.url 计算出相应的绝对 url。

最新文章

  1. 奇葩问题-TextView无法获取值
  2. Spring 入门知识
  3. livecd环境下chroot修复系统
  4. This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.
  5. Java注释@Override
  6. 【uTenux实验】事件标志
  7. 数据库知识整理<六>
  8. APP国际化
  9. 【风马一族_Android】第4章Android常用基本控件
  10. c++类型转换Type Cast)
  11. js中widow.open()方法详解
  12. Android中ListView同过自定义布局并使用SimpleAdapter的方式实现数据的绑定
  13. yum安装配置mongoDB客户端和服务器端
  14. Fragment 之 PagerAdapter
  15. 在.NET中使用iTextSharp创建/读取PDF报告: Part I [翻译]
  16. C++学习笔记25,析构函数总是会宣布virtual
  17. 学号:201621123032 《Java程序设计》第9周学习总结(
  18. 分布式Session共享解决方案
  19. jmeter4.x centos7部署笔记
  20. Sql Server数据库之四个增删改查

热门文章

  1. 机器学习:线性回归法(Linear Regression)
  2. C Primer Plus学习笔记(八)- 函数
  3. debian7 安装VMware Tools
  4. list()的相关问题
  5. delphi 面向对象实用技能教学二(封装)
  6. 如何创建和配置Solaris10 zones (ZT)
  7. javaScript之NodeList
  8. 学习计划Python-转载
  9. Eclipse中,将tab缩进改为4个空格
  10. 每天一道算法题目(18)——取等长有序数组的上中位数和不等长有序数组的第k小的数