博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xpath解析
阅读量:7089 次
发布时间:2019-06-28

本文共 1228 字,大约阅读时间需要 4 分钟。

hot3.png

对于垂直搜索,经常需要在专一领域的网站上抓取信息,这些网站上的垂直资源往往有特定的html结构,html为xml规范的文档,撷取这类文档的方式有很多,xpath相对比较方便操作,通常会用xpath去将抓取下来的网页进行进一步的资源提取。

常用定位语句实例

  1. //NODE[not(@class)] 所有节点名为node,且不包含class属性的节点

  2. //NODE[ @class and @id] 所有节点名为node,且同时包含class属性和id属性的节点

  3. //NODE[contains(text(),substring] 所有节点名为node,且其文本中包含substring的节点

    //A[contains(text(),"下一页")] 所有包含“下一页”字符串的超链接节点

    //A[contains(@title,"文章标题")] 所有其title属性中包含“文章标题”字符串的超链接节点

  4. //NODE[@id="myid"]/text() 节点名为node,且属性id为myid的节点的所有直接text子节点

  5. BOOK[author/degree] 所有包含author节点同时该author节点至少含有一个的degree孩子节点的book节点

  6. AUTHOR[.="Matthew Bob"] 所有值为“Matthew Bob”的author节点

  7. //*[count(BBB)=2] 所有包含两个BBB孩子节点的节点

  8. //[count()=2] 所有包含两个孩子节点的节点

  9. //*[name()='BBB'] 所有名字为BBB的节点,等同于//BBB

  10. //*[starts-with(name(),'B')] 所有名字开头为字母B的节点

  11. //*[contains(name(),'C')] 所有名字中包含字母C的节点

  12. //*[string-length(name()) = 3] 名字长度为3个字母的节点

  13. //CCC | //BBB 所有CCC节点或BBB节点

  14. /child::AAA 等价于/AAA

  15. //CCC/descendant::* 所有以CCC为其祖先的节点

  16. //DDD/parent::* DDD节点的所有父节点

  17. //BBB[position() mod 2 = 0] 偶数位置的BBB节点

  18. AUTHOR[not(last-name = "Bob")] All <author> elements that do no contain <last-name> child elements with the value Bob.

  19. P/text()[2] 当前上下文节点中的P节点的第二个文本节点

  20. ancestor::BOOK[1] 离当前上下文节点最近的book祖先节点

Firefox中的XPath插件:

XPath Checker

转载于:https://my.oschina.net/figoisxjs/blog/127513

你可能感兴趣的文章
Win7x64安装了DroidPilot-Win64.exe之后跑不起来 -- 解决办法
查看>>
VS2010 中C++ 和C# 颜色转化
查看>>
idea 新手入门配置
查看>>
JAVA 通过 JACOB 调用 WMI
查看>>
构建工具系列一--Travis-cli
查看>>
日历时间选择控件---3(支持ie、火狐)
查看>>
电梯设计大作业——概要设计
查看>>
CountDownLatch实现多线程并发请求
查看>>
AOJ 739 First Blood
查看>>
java 自带的工具
查看>>
10-08C#基础--进制转换
查看>>
[C++基础]007_char、wchar_t、wcout、setlocale()
查看>>
Java纯POJO类反射到Redis,反射到MySQL
查看>>
Localization native development region 设置属性(转)
查看>>
springboot将项目源代码打包
查看>>
Python必会的单元测试框架 —— unittest
查看>>
CentOS 7配置MariaDB允许指定IP远程连接数据库
查看>>
计算机基础——指令与程序
查看>>
jeecg查询条件组装器使用or关键字
查看>>
用三段 140 字符以内的代码生成一张 1024×1024 的图片<转载>
查看>>