xpath规则

server/2024/12/17 3:33:49/

路径表达式

谓语

用来查找某个特定的节点或者包含某个指定的值的节点

谓语被嵌在方括号中

选择未知节点

选取若干路径

使用“|”运算符

python中lxml使用

python">from lxml import etree
import requests
# 参数往往是一个html字符串
url = "https://www.baidu.com/"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
}
res = requests.get(url=url, headers=headers)
# print(res.text)
# 基于xpath进行数据解析
element = etree.HTML(res.text)
# print(element)
# 定位元素
# element.xpath('/html/body/div[1]/div[1]/div[5]/div/div/div[3]/ul/li[1]/a/span[2]')
# ele_li = element.xpath('/html/body/div[1]/div[1]/div[5]/div/div/div[3]/ul/li')
# print(ele_li)
# for i in ele_li:
#     print(i.xpath('./a/span[2]/text()')[0])input_ele = element.xpath('//input[@class="s_ipt" and @name="wd"]')
print(input_ele)
# 拿a标签文本
a_ele = element.xpath('//div[@id="s-top-left"]/a/text()')
print(a_ele)
# 拿属性值
a_href = element.xpath('//div[@id="s-top-left"]/a/@href')
print(a_href)
# 模糊查询 拿到链接为https的 
# 使用contains 模糊查询
a_href_https = element.xpath('//div[@id="s-top-left"]/a[contains(@href,"https")]/@href')
print(a_href_https)

element.xpath 拿到的是一个element对象,在xpath规则中末尾加text()即可拿到文本内容,并且内容会放在一个列表中

如果想取标签的属性则使用@属性名,例如@href


http://www.ppmy.cn/server/150795.html

相关文章

Scala隐式转换的其他使用场景

1. 类型的隐式参数 隐式转换可以与类型参数一起使用,以便在需要类型参数时自动提供。例如: trait Show[T] {def show(value: T): String }def printValue[T](value: T)(implicit showInstance: Show[T]): Unit {val str showInstance.show(value)pri…

基于Dockerfile的博客管理系统的容器化部署

目录 任务描述 3 1.1课题的基本内容 3 1.2 项目整体技术架构 3 1.3主要技术栈: 3 1.4 模块划分 4 1.5 容器集群化部署的任务内容 5 1.6 项目容器化部署的目的 6总体结构 7 2.1 容器角色和功能 7 2.2 容器之间的关联关系 8 2.3 数据流动示例 8 3.详细设计 9 3.1 设计…

分布式 分布式事务 总结

前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言,一次完整的交易需要同时调动两个节…

Redis 数据结构(二)—集合和有序集合

集合(Set)允许用户将多个各不相同的元素(文本或二进制数据)存储到集合中,以无序的方式存储元素。 有序集合(Sorted Set)同时具有“有序”和“集合”两种性质。每个元素由一个成员和分值组成。成…

react中使用echarts

在 React 中使用 ECharts,可以通过以下几个步骤来实现: 1. 安装依赖 首先,需要安装 echarts 和 echarts-for-react 这两个库,echarts-for-react 是一个 React 封装的 ECharts 组件库。 npm install echarts echarts-for-react2…

java 导出word锁定且部分内容解锁可编辑

使用 Apache POI 创建带编辑限制的 Word 文档 在日常工作中,我们可能需要生成一些带有编辑限制的 Word 文档,例如某些段落只能被查看,而其他段落可以自由编辑。本文介绍如何使用 Apache POI 创建这样的文档,并通过代码实现相应的…

Github 2024-12-15 php开源项目日报Top10

根据Github Trendings的统计,今日(2024-12-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Matomo:开源网站分析平台 创建周期:4687 天开发语言:PHP协议类型:GNU General Public License v3.0Star数量:18681 个Fork数量:…

OpenCV相关函数

一、二值化函数(threshold) 功能:将灰度图像转换为二值图像,通常用于图像分割。通过设置阈值,把图像中低于阈值的像素设为0,高于阈值的像素设为1。 参数: src:输入图像。 thresh&a…