一.属性

url :HTTP响应的url地址,str类型

status:HTTP响应的状态码, int类型

headers :HTTP响应的头部, 类字典类型, 可以调用get或者getlist方法对其进行访问

body:HTTP响应正文, bytes类型

text:文本形式的HTTP响应正文, str类型

response.text = response.body.decode(response.encoding)

encoding:HTTP响应正文的编码

reqeust:产生该HTTP响应的Reqeust对象

meta:即response.request.meta, 在构造Request对象时, 可将要传递给响应处理函数的信息通过meta参数传入, 响应处理函数处理响应时, 通过response.meta将信息提取出来

selector:Selector对象用于在Response中提取数据使用下面详细将,主要是 xpath,css取值之后的处理

xpath(query):下面详细讲解

css(query) :下面详细讲解

urljoin(url) :用于构造绝对url, 当传入的url参数是一个相对地址时, 根据response.url计算出相应的绝对url.

二.Selector对象

  • Selector 对象和SelectorList对象都有以下几种方法。

  • extract() 返回选中内容的Unicode字符串

  • re("正则表达式") 正则提取

  • extract_first()(SelectorList独有)

    返回列表中的第一个元素内容

  • re_first()(SelectorList独有)

    返回列表中的第一个元素内容

三.CSS

response.css('css选择器')返回值是Selector对象

获取一个

response.css('css选择器').extract_first()

获取全部

response.css('css选择器').extract()

获取其中某个属性

response.css('css选择器::attr(属性名)').extract()

只要标签里的文本

(response.css('css选择器::text').extract()

四.xpath

response.css('xpath选择器')返回值是Selector对象

Scrapy中response属性以及内容提取的更多相关文章

  1. scrapy中response.body 与 response.text区别

    scrapy中response.body 与 response.text区别 body http响应正文, byte类型 text 文本形式的http正文,str类型,它是response.body经 ...

  2. scrapy 中 xpath 用string方法提取带有空格符解决方法

    注释掉的是刚开始的代码,匹配的全是带空格的,replace替换不了空格 后面加上了normalize-space()  匹配到的文本内容变成了可replace 问题解决

  3. scrapy 的response 的相关属性

    Scrapy中response介绍.属性以及内容提取   解析response parse()方法的参数 response 是start_urls里面的链接爬取后的结果.所以在parse()方法中,我 ...

  4. python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 && parse()函数运行机制

    这篇博客主要是讲一下scrapy框架的使用,对于糗事百科爬取数据并未去专门处理 最后爬取的数据保存为json格式 一.先说一下pyharm怎么去看一些函数在源码中的代码实现 按着ctrl然后点击函数就 ...

  5. scrapy中使用LinkExtractor提取链接

    le = LinkExtractor(restrict_css='ul.pager li.next') links = le.extract_links(response)   使用LinkExtra ...

  6. 如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容?

    原文:如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容? 文章名称: 如何在ASP.NET Core自定义中间件读取Request.Body和 ...

  7. 在Scrapy中如何利用Xpath选择器从HTML中提取目标信息(两种方式)

    前一阵子我们介绍了如何启动Scrapy项目以及关于Scrapy爬虫的一些小技巧介绍,没来得及上车的小伙伴可以戳这些文章: 手把手教你如何新建scrapy爬虫框架的第一个项目(上) 手把手教你如何新建s ...

  8. 在scrapy中利用Selector来提取数据

    1.创建对象 Selector类的实现位于scrapy.selector模块,创建Selector对象的时候,可以将页面的Html文档字符串传递给Selector构造器方法 2.选中数据 调用Sele ...

  9. Java读取数据库中的xml格式内容,解析后修改属性节点内容并写回数据库

    直接附代码: 1.测试用的xml内容 <mxGraphModel> <root> <mxCell id="-1" /> <mxCell i ...

随机推荐

  1. var和let部分浅析

    ES6中新增了let命令,用于声明变量,但所声明的变量只在let命令的代码块内有效. 举个例子: var a = []; for(var i=0;i<10;i++){ a[i] = functi ...

  2. 清晰明了的javascript版动态规划

    算法是一种艺术,给人感觉很不好接近,但是一旦你和ta熟络了,你就能发现这门艺术的内在是多么美妙且多变. 对于前端来说,算法也许不是最重要的,在日常工作中,几乎很少用到.所以很多人也不是很感冒. 不过呢 ...

  3. Caffe源码-SGDSolver类

    SGDSolver类简介 Solver类用于网络参数的更新,而SGDSolver类实现了优化方法中的随机梯度下降法(stochastic gradient descent),此外还具备缩放.正则化梯度 ...

  4. 微信Pcweb登录简介

    微信第三方PCweb扫码登录 准备工作 (1) 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之 ...

  5. 动态代理模式——JDK动态代理

    今天,我就来讲一下动态代理的设计模式. 动态代理的意义在于生成一个代理对象,来代理真实对象,从而控制真实对象的访问.操作动态代理需要两个步骤:一.代理对象和真实对象建立代理关系.二.实现代理对象的代理 ...

  6. 敏捷开发--洞察敏捷模型,从PO的角度看敏捷产品管理

    转自本人运营的公众号“ 携程技术中心PMO”(ID:cso_pmo)       经常有人抱怨的一个问题:敏捷会让团队自组织,要求团队能“一方有难,八方支援”,但是为什么总感觉自己团队虽然实践了敏捷, ...

  7. 搭建私人的云笔记_使用webdav服务

    搭建私人的云笔记_使用webdav服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-10-10. 手机上有很多云笔记app,大多支持云存储.可是把笔记放在别人的服务器上,总觉得不 ...

  8. ASP.NET MVC5基础-过滤器(Filters)详解

    什么是过滤器? 过滤器的类型与作用 定义过滤器 授权过滤器 动作过滤器 结果过滤器 异常处理过滤器 过滤器的使用方法 总结 什么是过滤器? 通过上一篇关于Controller控制器的文章我们知道,MV ...

  9. Spring Boot 2.2.2.RELEASE 版本中文参考文档【3.1】

    使用Spring Boot 本节将详细介绍如何使用Spring Boot.它涵盖了诸如构建系统,自动配置以及如何运行应用程序之类的主题.我们还将介绍一些Spring Boot最佳实践.尽管Spring ...

  10. JavaScript 之 对象属性的特性 和defineProperty方法

    对象是无序属性的集合,而这些属性在创建是都带有一些特征值(可以理解为属性的属性,天生自带的),这些特征值是为了实现JavaScript引擎用的,因此JavaScript不能直接访问. JavaScri ...