这篇文章给大家分享的是有关python中xpath解析原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,免费云主机域名但是它同样适用于HTML文档的搜索XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可以用XPath来选择实现标签的定位:实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中。调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获。lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高1.将本地的html文档中的源码数据加载到etree对象中:2.可以将从互联网上获取的源码数据加载到该对象中这是一个HTML的文档
百里守约
李清照王安石苏轼柳宗元
从浏览器中打开是这样的
为了方便直观,我们对写个HTML文件进行本地读取进行测试先来看子节点和子孙节点,我们从上往下找p这个节点,可以看到p的父节点是body,body父节点是html
定位到这个HTML的p对象中,看上面html源码,可以知道有三个p对象
我们通过三种不同的方法来输出这个节点的信息,可以看到输出的是三个一样的Element,也就是这三种方法实现的功能是一样的。如果我只想要p里面song这一个标签,就可以对其属性定位
当然返回的还是一个element如果我只想获得song里面的苏轼的这个标签
我们找到了song,/p可以返回里面的所有标签,这个单独返回的苏轼的p标签,要注意的是这里的索引不是从0开始的,而是1比如我想取杜牧这个文本内容
和上面一样,我们要定位到杜牧的这个a标签,首先要找到他的上一级 li ,这是第五个 li 里面的a所以就有了下面的写法,text()是把element转化为文本,当然上面的在后面加个text()都可以展示文本内容。可以看到这个返回的是一个列表,如果我们想取里面的字符串,可以这样看一个更直接的,//li 直接定位到 li这个标签,//text()直接将这个标签下的文本提取出来。但要注意,这样会把所有的li标签下面的文本提取出来,有时候你并不想要的文本也会提取出来,所以最好还是写详细一点,如具体到哪个p里的li。比如我想取下面这个属性
可以直接用@取属性或者如果我想取所有的href这个属性,可以看到tang和song的所有href属性图一:
图二:.
这里我们要提取所有的房源信息,可以看到每个小节点的上一个节点都是一样的,我们要提取的是h3节点a里的房源信息,看图三
这里每个 /li 节点里面的子节点都是一样的,所以我们可以先找到所有的li节点,再往下找我们想要的信息
感谢各位的阅读!关于“python中xpath解析原理是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
这篇文章主要讲解了“golang如何关闭channel”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang如何关闭channel”吧! 在Golang中,channel是一种用于实现数据同步和通信的数据类…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。