python使用xpath获取页面元素的使用示例
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇文章给大家分享的是有关python使用xpath获取页面元素的使用示例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、xpath的
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
服务器能启动但检测不到磁盘
我的世界1.2.5服务器
资阳压招网络技术有限公司
无锡软件开发互惠互利
数据库权限最高的是什么
我的世界博士服务器
东丽租房软件开发
葫芦娃手游换服务器
mysql父子关系数据库
网页服务器关闭怎么回事
湖南公安网络安全知识竞赛
北京奥瑞文网络技术有限公司
一元嗨购软件开发
北京东华智中能源互联网科技
护苗网络安全课堂黑板报
plsql没法读取数据库
服务器CPU做图搞设计
造成网络安全问题的不良行为
华为gaussdb数据库安装
asp带端口的数据库连接
数据库 json文件
邢台网络安全和信息化委员会
闵行区网络软件开发质量保证
菏泽便民平台软件开发公司
阿里云服务器发布
网络安全审计有哪些常见的功能
数据库开源的好处
单据在数据库中的结构
dns服务器指定ip
服务器机箱外壳设计