0%

XPath简述

今天准备写个Python爬虫爬取中华网的新闻,但提取元素时要用到Xpath,而还是19年暑假用到了这个东西,如今已经忘的差不多了,于是写了这篇博文加深记忆

简介

定义

Xpath是一门用来从XML文档中查找信息的语言

术语

在XPath中有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及根节点。XML文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
如下面这XML文档:

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>

<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>

上面的XML文档中的节点例子:

1
2
3
4
5
<bookstore> (文档节点)

<author>J K. Rowling</author> (元素节点)

lang="en" (属性节点)

语法

表达式 描述
nodename 选取该节点的所有子节点
/ 从根节点选取
// 全文选取
@ 选择属性
* 匹配任何元素节点
@* 匹配任何属性节点

举例如下:

路径表达式 结果
/bookstore/* 选取bookstore元素的所有子节点
//* 选取文档中的所有属性
//title[@*] 选取所有带有属性的title元素
/bookstore/book[1] 选取属于bookstore子元素的第一个book元素
//title[@lang] 选取所有拥有名为lang的属性的title元素
//title[@lang=’eng’] 选取lang属性值为eng的title元素
//a[@class=’theme’]/text() 权限类名为theme的标签a的文本内容
-------------------本文结束 感谢阅读-------------------
  • 本文作者: CeaserBorgia
  • 本文链接: https://timegoesby.top/XPath/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!