zoukankan      html  css  js  c++  java
  • pyspider中内容选择器常用方法汇总

    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]用来取“电话”
  • 相关阅读:
    WPF--模板选择
    C#基础知识回顾--委托事件
    WPF刷新界面之坎坷路
    git 复位出现If no other git process is currently running, this probably means a git process crashed in this repo
    winrar 授权破解过期解决
    百度地图经纬度批量查找功能XGeocoding使用手册
    variant conversion error for variable v23
    oracle exp导出加上过滤条件
    office 格式刷双击无法启用连刷模式
    xsl 文件如何定义 Javascript 函数并且调用
  • 原文地址:https://www.cnblogs.com/wangzhisdu/p/7771934.html
Copyright © 2011-2022 走看看