热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

xpath基本操作和Python操作Xpath提取数据

文章目录基本概念在Python中模块的使用text()方法xpath介绍基本概念•XPath(XMLPathLanguage)是一种XML的查询语言,他能在XML树状结构中寻找节点

文章目录

    • 基本概念
    • 在Python中模块的使用
    • text()方法

xpath介绍

基本概念

• XPath(XML Path Language)是一种XML的查询语言,他能在XML树状结构中寻找节点。XPath 用于在 XML 文档中通过元素和属性进行导航
• xml是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。lxml是python中的一个第三方模块,它包含了将html文本转成xml对象,和对对象执行xpath的功能

xml_content = '''
<bookstore>
<book>
<title lang='eng'>Harry Potter</title>
<author>JK.Rowing</author>
<year>2005</year>
<price>29<price>
</book>
</bookstore>

《xpath基本操作和Python操作Xpath提取数据》
父(Parent) book元素是title、author、year、price元素的父
子(Children) title、author、year、price都是book元素的子
同胞(Sibling) title、author、year、price都是同胞
先辈(Ancestor) title元素的先辈是 book元素和bookstore元素
常用节点选择工具

  • chrome插件:xpath helper
  • firetox插件:xpath checker

安装参考网站
https://blog.csdn.net/qq_31082427/article/details/84987723

表达式描述
nodename选取此节点的所有子节点
/从根节点选取
//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
.选取当前节点。
。。选取当前节点的父节点。
@选取属性。

查找某个特定的节点或者包含某个指定的值的节点
《xpath基本操作和Python操作Xpath提取数据》

在Python中模块的使用

在Python中,我们安装lxml库来使用XPath 技术
lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML数据利用etree.HTML,将字符串转化为Element对象lxml python
官方文档:http://lxml.de/index.html
可使用 pip 安装:pip install lxml
lxml 可以⾃动修正 html 代码

from lxml import etree
from lxml import etree
html = ''' fffffff '''
html = etree.HTML(html) #利用etree.THML将字符串转换为HTML
res = html.xpath('') #获取所有book的所有节点
print(res)

text()方法

text()又有两种用法,一种是ls[1].xpath(’./text()’),一种是ls[1].xpath(’.//text()’)

  • ls[1].xpath(’./text()’)用法
    表示只取当前节点中的文本内容,对于子孙节点的内容不会取。
  • ls[1].xpath(’.//text()’)用法
    表示取当前节点及其子孙节点中的文本内容

推荐阅读
author-avatar
Levenmamatq_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有