python使用xpath获取页面元素的使用示例
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关python使用xpath获取页面元素的使用示例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、xpath的
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
云南咖啡
互联网是第几次科技革命的成果
广州大一互联网络科技有限公司
互联网科技公司华为
科技平台互联网
金融科技 互联网金融
互联网科技公司发展
奇酷互联网科技公司
丰台科技园 互联网
互联网科技宣传片
恒生科技互联网指数分析
衡水科技产业互联网平台
互联网大会黑科技排名
天津腾达互联网科技有限公司
用友工业互联网科技发展
云南省自由互联网科技有限公司
美国互联网科技公司
厦门江牛科技互联网
同城互联网络科技
长沙易易互联网科技有限公司
互联网和科技技术
善班互联网科技
互联网与未来科技
字节跳动和互联网科技
浙江互联网科技研学营
青岛科技大学互联网大赛研究生
互联网科技扶贫时间
河南住房之家互联网科技
陕西九四连强互联网科技有限公司
玉溪新华互联网科技怎么选