pyspider 的内容选择器默认已经实例化一个pyquery对象,可以直接使用pyquery的api来获取自己需要的内容。
1.在pyquery中使用response.doc就可以直接实例化一个pyquery对象,就可以直接在里面使用pyquery方法了
2.html()和text() ——获取相应的HTML块或文本块
例:html:"<head><title>hello</title></head>"

response.doc('head').html()#返回<title>hello</title>
response.doc('head').text()#返回hello
3.根据HTML标签来获取元素

例:html:'<div><p>test 1</p><p>test 2</p></div>'
response.doc('p')#返回[<p>,<p>]
print response.doc('p')#返回<p>test 1</p><p>test 2</p>
print response.doc('p').html()#返回test 1
注意:当获取到的元素不只一个时,html()、text()方法只返回首个元素的相应内容块

4.eq(index) ——根据给定的索引号得到指定元素
接上例,若想得到第二个p标签内的内容,则可以:

print response.doc('p').eq(1).html() #返回test 2

5.filter() ——根据类名、id名得到指定元素
例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"

response.doc('p').filter('#1') #返回[<p#1>]
response.doc('p').filter('.2') #返回[<p.2>

6.find() ——查找嵌套元素
例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"

response.doc('div').find('p')#返回[<p#1>, <p.2>]
response.doc('div').find('p').eq(0)#返回[<p#1>]

7.直接根据类名、id名获取元素
例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"

response.doc('#1').html()#返回test 1
response.doc('.2').html()#返回test 2

8.获取属性值
例:html:"<p id='my_id'><a href='http://hello.com'>hello</a></p>"

response.doc('a').attr('href')#返回http://hello.com
response.doc('p').attr('id')#返回my_id

9.获取内容的一部分可以用分割字符串法:
例:html:"<p id='my_tel'>姓名 电话</p>"
response.doc('#my_tel').text().split(' ')[0]用来取“姓名” response.doc('#my_tel').text().split(' ')[1]用来取“电话”

pyspider中内容选择器常用方法汇总的更多相关文章

  1. python中str的常用方法汇总(1)

    a = 'strABC' # Strabc : 首字母大写,其他全部小写 b = a.capitalize() print(b) # STRABC : 全部大写 c = a.upper() print ...

  2. JSP中request对象常用方法汇总

    setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAt ...

  3. 深入学习jQuery选择器系列第五篇——过滤选择器之内容选择器

    × 目录 [1]contains [2]empty [3]parent[4]has[5]not[6]header[7]lang[8]root 前面的话 本文介绍过滤选择器中的内容选择器.内容选择器的过 ...

  4. jquery内容选择器(匹配包含指定选择器的元素)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. oracle教程:PLSQL常用方法汇总

    oracle教程:PLSQL常用方法汇总 在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set ...

  6. OC中的字符串常用方法

    OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...

  7. AngularJS中有关Directive的汇总

    本篇通过几个例子对AngularJS中的Directive进行汇总. 例子1,单向绑定和双向绑定 <html ng-app="myApp"> <head> ...

  8. 03-CSS中的选择器

    高级选择器分为: 后代选择器 子代选择器 并集选择器 交集选择器 后代选择器 使用空格表示后代选择器 , 顾名思义  父元素的后代(包括儿子,孙子,重孙子) 中间空格隔开 是后代 .container ...

  9. jQuery的内容选择器

    JQuery中的内容选择器 JQuery中的内容选择器有四个: :contains(text) 匹配包含给定文本的元素 :empty 匹配所有不包含子元素或者文本的空元素 :has(selector) ...

随机推荐

  1. Android-Messenger跨进程通信

    http://blog.csdn.net/lmj623565791/article/details/47017485 一.概述 我们可以在客户端发送一个Message给服务端,在服务端的handler ...

  2. MySQL锁详解!(转载)

    博客来源于https://baijiahao.baidu.com/s?id=1610581108528334819&wfr=spider&for=pc 一.概述 数据库锁定机制简单来说 ...

  3. CSS3和HTML5新增特性及使用(保留方便查看)

    CSS3 1.边框图片 border-image: url(test.png) 10/10px;  outline:10px solid #ff0;outline-offset:15px;边框的边框, ...

  4. phpstudy集成下Apache配置部署https安全证书

    一..先申请到安全证书.(腾讯云或者阿里云申请免费1年的安全证书),怎么申请这里也说下(以腾讯云为例): 1.登录腾讯云QQ或微信登录都行,第一次登录要通过实名认证,点击[产品]---[ss证书l] ...

  5. jQuery首页更换背景皮肤

    昨天做了一个jQuery首页更换背景皮肤,感觉还是挺不错的,一共需要两个文件,一个是我们写的HTML文件,我们起名叫做index.html,一个是我们引入的jQuery文件,我们起名叫做jQuery. ...

  6. 排错-Ad Hoc Distributed Queries组件被禁用的解决办法

    Ad Hoc Distributed Queries组件被禁用的解决办法 by:授客 QQ:1033553122 SQL Server 阻止了对组件 'Ad Hoc Distributed Queri ...

  7. Google 和 Facebook 如何大规模处理 IT 事件管理 —— 2016 SRE 大会之我见

    [编者按]本文作者为 Maria Arbisman,主要介绍 Google 与 Facebook 两大巨头是如何大规模处理 IT 事件管理.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 2 ...

  8. SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)

    写法: 假装有个表Shop,其中有一列ShopName,取100000到100050条数据. ROW_NUMBER 的写法 SELECT * FROM (SELECT ShopName , ROW_N ...

  9. 《SQL Server 2008从入门到精通》--20180716

    1.锁 当多个用户同时对同一个数据进行修改时会产生并发问题,使用事务就可以解决这个问题.但是为了防止其他用户修改另一个还没完成的事务中的数据,就需要在事务中用到锁. SQL Server 2008提供 ...

  10. python基础学习11----函数

    一.函数的定义 def 函数名(参数列表): 函数体 return语句 return语句不写或后边不加任何对象即为return None 二.函数的参数 无参数 def func1(): print( ...