python使用xpath获取页面元素的使用示例
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇文章给大家分享的是有关python使用xpath获取页面元素的使用示例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、xpath的
千家信息网最后更新 2025年11月11日python使用xpath获取页面元素的使用示例
本篇文章给大家分享的是有关python使用xpath获取页面元素的使用示例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、xpath的使用方法?
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
常用路径表达式含义
| 表达式 | 描述 |
|---|---|
| / | 从根节点选取(取子节点) |
| // | 选择的当前节点选择文档中的节点 |
| . | 选取当前节点。 |
| … | 选取当前节点的父节点。 |
| @ | 选取属性 |
| * | 表示任意内容(通配符) |
| | | 运算符可以选取多个路径 |
常用功能函数
| 函数 | 用法 | 解释 |
|---|---|---|
| startswith() | xpath('//div[starts-with(@id,"ma")]') | #选取id值以ma开头的div节点 |
| contains() | xpath('//div[contains(@id,"ma")]') | #选取id值包含ma的div节点 |
| and() | xpath('//div[contains(@id,"ma") and contains(@id,"in")]') | #选取id值包含ma的div节点 |
| text() | _.xpath('./div/div[4]/a/em/text()') | #选取em标签下文本内容 |
备注:
1、html中当相同层次存在多个标签例如div,它们的顺序是从1开始,不是0
2、浏览器中使用开发者工具可以快速获取节点信息
2、实例:
#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time : 2021/9/7 9:35# @Author : Sun# @Email : 8009@163.com# @File : sun_test.py# @Software: PyCharmimport requestsfrom lxml import etreedef get_web_content(): try: url = "htpps://***keyword=%E6%97%A0%E9%92%A2%E5%9C%88&wq=%E6%97%A0%E" "9%92%A2%E5%9C%88&ev=1_68131%5E&pvid=afbf41410b164c1b91d" "abdf18ae8ab5c&page=5&s=116&click=0 " header = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)" "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/75.0.3770.100 Safari/537.36 "} response = requests.request(method="Get", url=url, headers=header) result = response.text return result except TimeoutError as e: return Nonedef parsing(): result = get_web_content() if result is not None: html = etree.HTML(result) # 先获取一个大的节点,包含了想要获取的所有信息 ii = html.xpath('//*[@id="J_goodsList"]/ul/li') for _ in ii: # 采用循环,依次从大节点中获取小的节点内容 # ''.join() 将列表中的内容拼接成一个字符串 infoResult = { # @href 表示:获取属性为href的内容 'href': "https:" + _.xpath('./div/div[1]/a/@href')[0], 'title': ''.join( _.xpath('./div/div[2]/div/ul/li/a/@title')), # text()表示获取节点i里面的文本信息 'price': _.xpath('./div/div[3]/strong/i/text()')[0], 'info': ''.join( _.xpath('./div/div[4]/a/em/text()')).strip(), 'province': _.xpath('./div/div[9]/@data-province')[0]} print(infoResult) else: raise Exception("Failed to get page information, please check!") return Noneif __name__ == '__main__': parsing()结果图片:
以上就是python使用xpath获取页面元素的使用示例,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
节点
内容
路径
信息
表达式
元素
示例
页面
函数
多个
属性
常用
文本
文档
更多
标签
知识
篇文章
选择
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
武汉网络安全基地参观
默纳克服务器显示err80
河南企业软件开发哪家实惠
计算机服务器在中医药的应用
常熟无忧网络技术排名靠前
福建网络安全培训服务机构
网站smtp服务器
互联网科技创业方案
it网络安全处理办法
花都正规的网络安全建设
学完网络安全就业
万里安全数据库
国网商城县供电公司网络安全
太原网络安全培训课程
没pb服务器
打开数据库怎么查询数据库名
什么是oda数据库
中国最新互联网科技有限公司
学校管理数据库er图
软件开发时计入在建工程
动漫网络安全的手抄报
猪猪创想网络技术
食品网络安全平台
构件软件开发技术的特点
选择要操作的数据库
手机网络安全类型不正确怎么解决
数据库字段级别权限控制设计
深圳嵌入式软件开发推荐
数据库链表查询怎么查
cbs中包含的数据库