Python爬虫教程-21-xpath

Posted qwangxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫教程-21-xpath相关的知识,希望对你有一定的参考价值。

本篇简单介绍 xpath 在python爬虫方面的使用,想要具体学习 xpath 可以到 w3school 查看 xpath 文档 

Python爬虫教程-21-xpath

什么是 XPath?

  • XPath 使用路径表达式在 XML 文档中进行导航
  • XPath 包含一个标准函数库
  • XPath 是 XSLT 中的主要元素
  • XPath 是一个 W3C 标准
  • 用途:它是一种用来确定XML文档中某部分位置的语言
  • XPath开发工具: 
    • 开源的XPath表达式工具:XMLQuire
    • Chrome 插件:XPath Helper
    • FIrefox插件:XPath CHecker
  • XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询语言
  • 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点

xml案例py24.xml文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py24.xml

<?xml version="1.0" encoding="UTF-8" ?>

<booksore>
    <book category="cooking">
        <title lang="en">Everyday Italian</title>
        <auther>Gidada De</auther>
        <year>2018</year>
        <price>23</price>
    </book>

    <book category="education">
        <title lang="en"www.tianjiuyule178.com>Python is Python</title>
        <auther>Food www.huayiyul.com/ www.thq666.com/ War</auther>
        <year>2008</year>
        <price>83</price>
    </book>

    <book category="sport">
        <title lang=www.yigou521.com/ "en">Running</title>
        <auther>Klaus www.trgj888.com Kuka<www.yongshiyule178.com /auther>
        <year>2010</year>
        <price>43</price>
    </book>

</booksore>

XPath 路径表达式

  • XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
  • 常用路径表达式: 
    技术分享图片
  • 实例: 
    技术分享图片

谓语(Predicates)

  • 谓语用来查找某个特定的节点或者包含某个指定的值的节点
  • 谓语被嵌在方括号中
  • 实例:

    在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 
    技术分享图片

选取未知节点

  • XPath 通配符可用来选取未知的 XML 元素 
    技术分享图片
  • 实例: 
    技术分享图片

选取若干路径

  • 通过在路径表达式中使用“|”运算符,您可以选取若干个路径
  • 实例: 
    技术分享图片

更多文章链接:Python 爬虫随笔

 








以上是关于Python爬虫教程-21-xpath的主要内容,如果未能解决你的问题,请参考以下文章

scrapy主动退出爬虫的代码片段(python3)

Python爬虫入门教程:超级简单的Python爬虫教程

《Python3网络爬虫实战案例(崔庆才著)》 中文版PDF下载,附源代码+视频教程

《Python3网络爬虫实战案例(崔庆才著)》 中文版PDF下载,附源代码+视频教程

Python爬虫教程-30-Scrapy 爬虫框架介绍

python爬虫入门教程(非常详细),超级简单的Python爬虫教程