ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 811|回复: 0

[推荐] 如何从网页源代码中提取下拉框数据(分享)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-1-6 11:34 | 显示全部楼层 |阅读模式
表格中如何使用正则表达式公式RegexString()从网页源码中提取需要字符,本案例中,演示了如何从某汇率网页中提取币种代码和币种名称。
第一步,需求说明。如下图所示,在某汇率网页上有一个币种下拉框,要求将其中的币种代码和币种名称单独提取出来。
网页原始数据.png
第二步,最终提取出来的数据要求如下图所示,是一个币种的列表。
最终结果.png
第三步,查找币种下拉框源代码,在浏览器中,选择币种下拉框,右键,弹出右键菜单,从中选择检查菜单。
右键检查.png
第四步,分析规律,发现币种代码和币种名称的规律是value="币种代码">币种名称”,这种情况下,比较容易写正则表达式。
分析规律.png
第五步,复制币种下拉框的网页源码。选中下拉框select的网页元素节点,右键,在弹出的右键菜单中选中Copy, Copy outerHTML。
复制源码.png
第六步,将复制的网页源码粘贴到某个单元格中。
粘贴到一个单元格.png
第七步,如下图所示,书写公式=RegexString($H$2,"value=\""([A-Z]+)\"">([\u4e00-\u9fa5]{1,})",1,G3)从单元格H2中查找币种代码。
提取币种.png
第八步,如下图所示,书写公式=RegexString($H$2,"value=\""[A-Z]+\"">([\u4e00-\u9fa5]{1,})",1,G3)从单元格H2中查找币种名称。
提取汉字.png
要点说明
1、正则表达式([A-Z]+)表示匹配一个以上的大写字母,这里用来匹配币种代码,其中括号()表示要返回的结果,括号外的数据不返回;
2、正则表达式[\u4e00-\u9fa5]{1,}表示匹配一个以上的汉字,这里用来匹配币种名称;
3、在公式中,双引号有特殊用途,如果要输入一个普通的双引号,可以输入两个双引号,此时表示一个双引号;
4、$H$2,表示绝对引用,这样往下拖动公式时,引用的还是单元格H2;
5、图中G列是辅助列,用来递增序号,以便获得要返回值的索引。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-21 00:09 , Processed in 0.039278 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表