zoukankan      html  css  js  c++  java
  • scrapy xpath 定位节点获取数据

    一、Xpath路径
    / 绝对路径
    // 相对路径

    #查找html下的body下的form下的所有input节点 /html/body/form/input
    #查找所有input节点 //input

    #查找form节点下的所有节点
    //form/*
    #查找所有节点
    //* #查找所有input节点(input至少有爷爷辈亲戚节点) //*/input

    二、使用索引

    如果筛选时元素时出现多个节点,但我们想确定唯一节点。可以使用类似于列表索引的方式精确定位。

    #定位 第8个td下的 第2个a节点
    //*/td[7]/a[1]
    
    #定位 第8个td下的 第3个span节点
    //*/td[7]/span[2]
    
    #定位 最后一个td下的  最后一个a节点
    //*/td[last()]/a[last()]

    三、使用属性

    为了让定位更精准,跟使用索引类似,我们要增加信息量,那么还可以使用属性。@符号是属性符

    #定位所有包含name属性的input节点
    //input[@name]
    
    #定位含有属性的所有的input节点
    //input[@*]
    
    #定位所有value=2的input节点
    //input[@value='2']
    
    #使用多个属性定位
    //input[@value='2'][@id='3']
    或者//input[@value='2' and @id='3']

    四、常用函数

    除了索引、属性外,Xpath还可以使用便捷的函数来增强定位的准确性。下面试常用的几个函数:

    <a class="menu_hot" href="/ads/auth/promote.html">应用推广</a>
    
    #定位href属性中包含“promote.html”的所有a节点
    //a[contains(@href,'promote.html')]
    
    #元素内的文本为“应用推广”的所有a节点
    //a[text()='应用推广']
    
    #href属性值是以“/ads”开头的所有a节点
    //a[starts-with(@href,'/ads')]
     
    当值未一旬,而视茫茫,而发苍苍,而齿牙动摇
  • 相关阅读:
    linq to access 简单实现 实例demo
    FCKEDITOR中文使用说明 js调用
    asp.net mvc 随想
    fccms 小型简单个人blog源码
    PHP文件上传路径
    前端优化技巧(一)
    会话框拖拽效果实现
    phpmailer配置
    上传图片动态预览(兼容主流浏览器)
    Java将多个list对象根据属性分组后合并成一个新的集合
  • 原文地址:https://www.cnblogs.com/niuniuc/p/11282850.html
Copyright © 2011-2022 走看看