Python Xpath解析 数据提取 基本使用

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历,XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。

提示:以下是本篇文章正文内容,下面案例可供参考

1.pip install lxml

pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

2.xpath用法介绍

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了常用的路径表达式:

表达式描述nodename选取此节点的所有子节点。/从根节点选取。//不考虑起始位置,在整个文档中全局匹配符合表达式的节点。.选取当前节点。…选取当前节点的父节点。@选取属性。

路径表达式以及表达式的含义

表达式描述bookstore选取 bookstore 元素的所有子节点。bookstore/book选取 bookstore下面(子元素中)的所有 book 元素//book选取所有的book元素,在整个文档中全局匹配符合表达式的节点。bookstore//book选取bookstore下面(子元素中)所有的book元素//@lang选取名为 lang 的所有属性。/bookstore/book[1]选取属于 bookstore 子元素的第一个 book 元素。/bookstore/book[last()]选取属于 bookstore 子元素的最后一个 book 元素。/bookstore/book[last()-1]选取属于 bookstore 子元素的倒数第二个 book 元素。/bookstore/book[position()

3.代码示例

    import requests
    from lxml import etree
    url = 'xxxx'
    # Python Request get post 代理 常用示例:https:
    response = requests.get(url=url)
    web_html = response.text
    selects = etree.HTML(web_html)  # 解析网页源码
    selects.xpath("//input[@type='submit']/text()")  # 获取input元素的文本
    selects.xpath("//input[@type='submit']/@title")  # 获取input元素的title属性值
    li_tag = selects.xpath("//ul[@class='xxx']/li[1]")  # 获取ul元素下的第一个li元素
    li_list = selects.xpath("//ul[@class='xxx']/li")  # 获取ul元素下的所有个li元素,返回list类型
    for li in li_list:
        # 将返回的xpath对象转为html源代码
        li_tag_html = etree.tostring(li, encoding='utf-8', pretty_print=True, method='html').decode("utf-8")
        li.xpath("text()")  # 获取当前li元素的文本

4.Xpath Helper (免费 Chrome 插件)

Xpath Helper 国内下载地址:https://chrome.zzzmh.cn/info?token=hgimnogjllphhhkhlmebbmlgjoejdpjl
Xpath Helper 安装教程:https://blog.csdn.net/qq_54528857/article/details/122202572

Python Xpath解析 数据提取 基本使用

以上就是今天要讲的内容,本文仅仅简单介绍了xpath解析web源码的使用,而xpath提供了大量能使我们快速便捷地处理数据的函数和方法,后续有关于xpath的常用代码会在这篇博客中持续更新。
XPath官方手册中文版:https://www.cnblogs.com/armlinux/archive/2006/12/05/2391049.html

Original: https://blog.csdn.net/EXIxiaozhou/article/details/127146561
Author: EXI-小洲
Title: Python Xpath解析 数据提取 基本使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/669142/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球