Python lxml包下面的xpath基本用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python lxml包下面的xpath基本用法相关的知识,希望对你有一定的参考价值。

参考技术A 对于网页数据抓取,有BeautifulSoup、lxml以及正则表达式三种方法,其中正则表达式过于复杂,而beautifulsoup和lxml使用起来较为方便。以前简单使用过beautifulsoup(美味汤),后面为了扩展一下,熟悉一下lxml进行数据抓取。

先贴一个lxml的简单框架:

其中,最主要的在于xpath路径的获取和解析,而XPath就是地址,具体地,就是需要知道所要寻找的内容处在哪个地址下。一般而言,我们可以根据开发者工具来定位我们需要的元素,然后右击选择其所在xpath,选择初步的路径,如下图所示,

这只是一种简单的方法,更重要的,需要掌握xpath的语法规则,下面分别论述。

使用xpath获取信息,主要包括获取本文和获取属性,基本用法为

对比可以看出,一个是采用text()获取文本,一个是采用@属性获取属性值。而前面标签后面方括号就是来对标签进行筛选的。一般而言,通过选择器可以获取诸如/html/body/div[@class="useful"]/ul/li/text()的信息,但是开头的信息没有标志性,采用//div[@class="useful"]/ul/li/text()即可。

这个地方即涉及到了xpath的语法选择,主要包括以下几点:

而在选择器方面,包括以下几个

除此之外,在获取了一个元素之后,我们需要获取其下面元素的属性,即要对基于xpath获取的元素再次采用xpath,此时的获取方式为:

另外,我们也可以获取节点下面所有的字符串,方法为string(.),示例为:

懒得打字了,下面的截图来自W3Cschool, https://www.w3cschool.cn/lxml/_lxml-98h23fk0.html

主要的Xpath运算符包括以下:

按顺序选择等进一步的内容可以移步 https://www.w3cschool.cn/lxml/_lxml-eh1k3fk6.html

具体到不同的网页上,需要的其他知识就更多了,慢慢补充吧。不过似乎还是beautifulsoup好用一些,哈哈。

参考资料:
https://blog.csdn.net/weixin_39851008/article/details/109960957
https://www.w3cschool.cn/lxml/_lxml-98h23fk0.html

以上是关于Python lxml包下面的xpath基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫利器三之Xpath语法与lxml库的用法

Python爬虫利器三之Xpath语法与lxml库的用法

python爬虫lxml基本用法

Python爬虫:通过爬取CSDN博客信息,学习lxml库与XPath语法

Python爬虫:通过爬取CSDN博客信息,学习lxml库与XPath语法

Xpath用法