iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python爬虫中Xpath语法怎么用
  • 379
分享到

Python爬虫中Xpath语法怎么用

2023-06-27 10:06:30 379人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python爬虫中Xpath语法怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python爬虫中Xpath语法怎

这篇“python爬虫中Xpath语法怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python爬虫中Xpath语法怎么用”文章吧。

什么是 Xpath?

       XPath 即为 XML 路径语言,它是一种用来确定 XML (标准通用标记语言子集)文档中某部分位置的语言。XPath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于 XPointer 与 XSL 间的语法模型。但是  XPath 很快的被开发者采用来当作小型查询语言。

       简单的来说:Xpath(XML Path Language)是一门在 XML 和 html 文档中查找信息的语言,可用来在 XML 和 HTML 文档中对元素和属性进行遍历。

XPath 开发工具

       这里给大家介绍两个小编用得较多也是用得最为广泛与便捷的工具

  • Chrome 插件 XPath Helper (需科学上网);

  • Firefox 插件 Try XPath。

       当然 Chrome 插件 XPath Helper 也可以寻找安装包后通过插件伴侣安装,安装方法步骤如下:

  1.  打开插件伴侣,选择下载好的插件;

  2. 选择提取插件内容到桌面,桌面上会多一个文件夹;

  3. 把文件夹放入想要放的路径下;

  4. 打开谷歌浏览器,选择扩展程序,开发者模式打开,选择加载已解压的扩展程序,选择路径打开即可。

XPath 节点

       在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

XPath 语法

       XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

       使用方式:

       使用 // 获取整个页面当中的元素,然后写标签名,然后在写谓语进行提取,比如:

//title[@lang='en']

       需要注意的知识点:

  •  / 和 // 的区别:/ 代表只获取子节点,// 获取子孙节点,一般 // 用的比较多,当然也要视情况而定;

  • contains:有时候某个属性中包含了多个值,那么可以使用 contains 函数,示例如下:

//title[contains(@lang,'en')]

  • 谓词中下标是从 1 开始的,不是从 0 开始的

lxml 库

       lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HTML/XML 数据。

       该库为第三方库需使用 pip 进行安装,命令如下:

pip install lxml

 基本使用:

       如下是案例实操的 html 文件代码,屏幕前的小伙伴可以保存下来一起动手练习。

<div>

    <ul>

         <li class="im-0"><a href="link1.html"> first </a></li>

         <li class="im-1"><a href="link2.html"> second </a></li>

         <li class="im-active"><a href="link3.html"> third </a></li>

         <li class="im-1"><a href="link4.html"> fourth </a></li>

         <li class="im-0"><a href="link5.html"> fifth </a>

     </ul>

 </div>

案例 1:将字符串解析为 html 文档

from lxml import etree

text = ''

html = etree.HTML(text) #读取

print(html)

# 按字符串序列化html

result = etree.tostring(html).decode('utf-8')

print(result)

案例 2:从文件中读取 html 代码:

from lxml import etree

html = etree.parse('hello.html') #读取

# 按字符串序列化html

result = etree.tostring(html).decode('utf-8')

print(result)

案例 3:在 lxml 中使用 Xpath 语法

from lxml import etree

html = etree.parse('hello.html')

# 获取所有 li 标签:

# result = html.xpath('//li')

# print(result)

# for i in result:

#     print(etree.tostring(i))

# 获取所有li元素下的所有 class 属性的值:

# result = html.xpath('//li/@class')

# print(result)

# 获取 li 标签下 href 为https://www.yisu.com/的 a 标签:

# result = html.xpath('//li/a[@href="Https://www.yisu.com/"]')

# print(result)

# 获取 li 标签下所有 span 标签:

# result = html.xpath('//li//span')

# print(result)

# 获取 li 标签下的 a 标签里的所有 class:

# result = html.xpath('//li/a//@class')

# print(result)

# 获取最后一个 li 的 a 的 href 属性对应的值:

# result = html.xpath('//li[last()]/a/@href')

# print(result)

# 获取倒数第二个 li 元素的内容:

# result = html.xpath('//li[last()-1]/a')

# print(result)

# print(result[0].text)

# 获取倒数第二个 li 元素的内容的第二种方式:

result = html.xpath('//li[last()-1]/a/text()')

print(result)

以上就是关于“Python爬虫中Xpath语法怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: Python爬虫中Xpath语法怎么用

本文链接: https://www.lsjlt.com/news/309613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python爬虫中Xpath语法怎么用
    这篇“Python爬虫中Xpath语法怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python爬虫中Xpath语法怎...
    99+
    2023-06-27
  • Python爬虫XPath怎么用
    这篇文章主要为大家展示了“Python爬虫XPath怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python爬虫XPath怎么用”这篇文章吧。一、问题描述1.什么是XPath?xpath...
    99+
    2023-06-25
  • 一文掌握Python爬虫XPath语法
    目录一、问题描述1.什么是XPath?二、解决方案1.XPath语法2.lxml库3.实际案例三、结语本文转自微信公众号:"算法与编程之美" 一、问题描述 1.什么是XPath? x...
    99+
    2024-04-02
  • python爬虫中xpath实例分析
    这篇文章主要介绍“python爬虫中xpath实例分析”,在日常操作中,相信很多人在python爬虫中xpath实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python爬虫中xpath实例分析”的疑...
    99+
    2023-06-29
  • python爬虫-简单使用xpath下载
      首先 1.为方便以下进行       谷歌浏览器里要安装xpath脚本  2.下载一个lmxl     命令:pip install lxml 3. 以下三张图是一个,当时爬的 《糗事百科》里的图片   值的注意的是:在爬取接口时,要...
    99+
    2023-01-30
    爬虫 简单 python
  • python怎么爬虫lxml库解析xpath网页
    这篇文章主要介绍“python怎么爬虫lxml库解析xpath网页”,在日常操作中,相信很多人在python怎么爬虫lxml库解析xpath网页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么爬...
    99+
    2023-06-30
  • Python爬虫Xpath定位数据的两种方法
    方法一:直接右键,将文章路径复制下来点击Copy full Xpath 使用selenium+lxml中的etree进行配合使用,使用etree解析html网页 import req...
    99+
    2024-04-02
  • python-爬虫-xpath方法-批量爬取王者皮肤图片
    import requestsfrom lxml import etree 获取NBA成员信息 # 发送的地址url = 'https://nba.hupu.com/stats/players'# U...
    99+
    2023-09-13
    python 爬虫 jupyter
  • python中怎么使用XPath爬取小说
    这篇文章将为大家详细讲解有关python中怎么使用XPath爬取小说,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决...
    99+
    2023-06-14
  • python网络爬虫精解之XPath的使用说明
    目录一、XPath的介绍二、XPath使用1、选取所有节点2、获取子节点3、获取父节点4、属性匹配5、文本获取6、属性获取7、属性多值匹配8、多属性匹配9、按序选择10、节点轴选择X...
    99+
    2024-04-02
  • python中使用XPath爬取小说的方法
    这篇“python中使用XPath爬取小说的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python中使用XPath爬...
    99+
    2023-06-30
  • python爬虫中requests库怎么用
    小编给大家分享一下python爬虫中requests库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python爬虫—requests库的用法request...
    99+
    2023-06-25
  • Python爬虫中urllib库怎么用
    这篇文章给大家分享的是有关Python爬虫中urllib库怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、说明:urllib库是python内置的一个http请求库,requests库就是基于该库开发出来...
    99+
    2023-06-29
  • 怎么使用Python爬虫
    本篇内容介绍了“怎么使用Python爬虫”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!导入模块import re fro...
    99+
    2023-06-16
  • 怎么在python中使用xpath爬取网上数据
    本篇文章给大家分享的是有关怎么在python中使用xpath爬取网上数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。设计数据库from django.db ...
    99+
    2023-06-06
  • 什么是Python爬虫及用法
    什么是Python爬虫及用法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在学习爬虫之前我们需要明白的一个问题:爬虫能做什么?爬虫除了能够获取互联网的数据以外还能够帮我们完成很...
    99+
    2023-06-02
  • python爬虫中分布式爬虫的作用是什么
    这篇文章给大家分享的是有关python爬虫中分布式爬虫的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。随着大数据时代的来临,大数据也吸引了越来越多的关注。网络爬虫是一种高效的信息抓取工具,它集成了搜索引...
    99+
    2023-06-15
  • Python爬虫怎么突破反爬虫机制
    这篇文章主要介绍“Python爬虫怎么突破反爬虫机制”,在日常操作中,相信很多人在Python爬虫怎么突破反爬虫机制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python爬虫怎么突破反爬虫机制”的疑惑有所...
    99+
    2023-06-25
  • Python 爬虫库RoboBrowser怎么用
    这篇文章主要介绍“Python 爬虫库RoboBrowser怎么用”,在日常操作中,相信很多人在Python 爬虫库RoboBrowser怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python 爬虫...
    99+
    2023-06-13
  • 怎么使用python爬虫爬取数据
    本篇内容介绍了“怎么使用python爬虫爬取数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python爬出六部曲第一步:安装reques...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作