什么是Xpath?带你了解Xpath:网页解析神器

本篇文章小编给大家带来一个非常有意思的功能,那就是使用XPath数据提取,如果感兴趣的小伙伴一定要认真看完小编的这篇文章,相信大家如果看完之后一定会对Xpath有更深一步了解。

首先我们来介绍XML

XML称为可扩展标记语言,它在互联网数据传输中充当着非常重要的工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,我们可以把它理解成一个拥有着互联网最高级别的绿卡通行证数据携带者,和HTML非常类似。

他们两个的主要区别在于HTML主要用来显示数据,XML是用来传输数据。

XML都是标签闭合的。例如: … 成对出现。

冰与火之歌    乔治 马丁    2005    365.00        
哈利波特与死亡圣器    J K. 罗琳    2005    48.98        
python编程-从入门到放弃    挖掘机小王子    2048    99.00        
python编程-从看懂到看开    尼古拉斯-赵四    2003    39.95

在上面的xml语法中存在父子,先辈等关系。

我们再来了解一下主角----XPath

XPath是一门基于在XML文档中查找信息的语言,可用来在 XML/HTML 文档中对元素和属性进行遍历,并提取相应元素。

也是一种数据提取方式,只不过针对的是HTML/XML数据,因为爬虫主要和HTML页面打交道。

下表是XPath常用的规则:

在这里插入图片描述

lxml 是一个Python第三方模块。主要的功能是如何解析和提取 HTML/XML 数据。

lxml和正则类似,是一款高性能的 Python HTML/XML 解析器,我们可以利用之前学习的XPath语法,来快速的定位特定元素以及节点信息。

安装:

pip install lxml

失败的话指定下载源用

# 豆瓣源
pip install lxml -i https://pypi.douban.com/simple  

再安装 parsel 时会自动安装 lxml,这里就不需要再次安装了。

使用lxml模块

初始化生成一个XPath解析对象,同时可以自动补全残缺的HTML标签。传入网页源码。

from lxml import etree
string = """
      Python编程-从看懂到看开    Python编程    2003    39.95  """
# 再解析之前必须先转化一下
html = etree.HTML(string)
# 返回结果是列表
result = html.xpath("//book[contains(@cover,'paper')]/title/text()")
result = html.xpath("//book[4]/title/text()")
print(result)

因为 parsel 对 lxml 进行了, 所以可以直接再 parsel 中无缝切换使用 xpath 。

使用XPath选取指定内容。括号里面书写XPath语法规则。 返回列表。

# -*- coding: utf-8 -*-
import requests
import parsel
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
}
response = requests.get('https://maoyan.com/board/4?offset=0', headers=headers)
html = response.text
# %% 选择任意节点
sel = parsel.Selector(html)
# 提取 p 标签
ps = sel.xpath('//p')
for p in ps:
    print(p.get(

如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的兼职群和最近接单的截图

兼职群

私单

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取,也可以内推兼职群哦~

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

### 1.Python学习路线

image-20230619144606466

python学习路线图1

2.Python基础学习
01.开发工具

02.学习笔记

在这里插入图片描述

03.学习视频

在这里插入图片描述

3.Python小白必备手册

图片

4.数据分析全套资源

在这里插入图片描述

5.Python面试集锦
01.面试资料

在这里插入图片描述

在这里插入图片描述

02.简历模板

在这里插入图片描述

因篇幅有限,仅展示部分资料,添加上方即可获取👆

------ 🙇‍♂️ 本文转自网络,如有侵权,请联系删除 🙇‍♂️ ------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值