美文网首页
XPath基础教程,利用XPath进行采集信息

XPath基础教程,利用XPath进行采集信息

作者: 前端组件库 | 来源:发表于2020-07-25 17:22 被阅读0次

    XPath是一种使用路径表达式在XML文档(或我们的HTML文档)中选择节点或节点集的技术。虽然XPath本身不是编程语言,它也允许您编写可以直接访问特定HTML元素的表达式,而无需遍历整个HTML结构。

    为什么要学习XPath

    从网页中提取数据时,必须了解如何使用基本XPath表达式。
    比CSS选择器更强大
    它允许您以任何方向浏览DOM
    可以匹配HTML元素内的文本

    文档对象模型(Document Object Model)

    我假设您已经了解HTML,网页是一个包含标签内文本的文档,通过描述诸如标题,段落,列表,链接等元素,为文档增加含义。

    让我们看一个基本的HTML页面,以了解什么是文档对象模型。

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>What is the DOM ?</title>
    </head>
    <body>
        <h1>DOM 101</h1>
        <p>Websraping is awsome !</p>
        <p>Here is my <a href="https://www.scrapingbee.com/blog">blog</a></p>
    </body>
    </html>
    
    rmqhgyrbwdbczfcg_hu1e1d337a3bce3f5e7a7bdc84d1b0b64f_43119_800x0_resize_box_2.png

    该HTML代码基本上是封装在其他HTML内容内的HTML内容。HTML层次结构可以视为树。我们已经可以通过HTML代码中的缩进看到该层次结构。

    当您的Web浏览器解析此代码时,它将创建一棵树状结构,该树是HTML文档的对象表示。它称为文档对象模型。

    要记住的重要一点是,当您右键单击+ inspect时,在浏览器中看到的DOM可能与发送的实际HTML确实不同。也许执行了一些Javascript代码并动态更改了DOM!例如,当您滚动Twitter帐户时,浏览器会发送一个请求以获取新的tweet,并且一些Javascript代码将这些新的tweet动态添加到DOM。

    xPath语法

    • 在Xpath术语中,与HTML一样,存在不同类型的节点:根节点,元素节点,属性节点以及所谓的原子值,这是HTML文档中文本节点的同义词。

    • 每个元素节点都有一个父节点。在此示例中,section元素是p,details和button的父元素。

    • 元素节点可以具有任意数量的子节点。在我们的示例中,li元素是ul元素的所有子元素。

    • 兄弟姐妹是具有相同父代的节点。p,详细信息和按钮是同级。

    • 祖先节点的父级和父级的父级...

    • 后代节点的子代和子代的子代…

    在HTML文档中有多种类型的表达式来选择节点,以下是最重要的表达式:

    相关文章

      网友评论

          本文标题:XPath基础教程,利用XPath进行采集信息

          本文链接:https://www.haomeiwen.com/subject/kjdmlktx.html