易语言获取网页内容问题
本帖最后由 zmy 于 2019-12-24 22:59 编辑先上图
图1:
图2:
上面两个图片是网页中截图,现在想要获取小写后面的价格,但是发现网页源码不一样,找不到共同点。
图片1对应代码:
<tr><td><p style="text-align: center;"><strong>中标价格 </strong></p></td><td colspan="5"><p><strong>小写:¥2577532.10元</strong></p><p><strong>大写:贰佰伍拾柒万柒仟伍佰叁拾贰元壹角整</strong></p></td></tr>
图片2对应代码:
<tr style="height: 47px;"><td width="93" style="background: white; border-width: 0px 1px 1px; border-style: none solid solid; border-color: rgb(0, 0, 0) windowtext windowtext; padding: 2px; border-image: none;" colspan="2"><p style="text-align: center;"><span style="font-family: 宋体;">中标价格</span></p></td><td width="592" style="background: white; border-width: 0px 1px 1px 0px; border-style: none solid solid none; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); padding: 2px;" colspan="11"><p><span style="font-family: 宋体;">小写:¥</span><span style="font-family: Calibri;">2387311.05</span><span style="font-family: 宋体;">元</span></p><p><span style="font-family: 宋体;">大写:贰佰叁拾捌万柒仟叁佰壹拾壹元伍分</span></p></td>
请高手指点应该怎样才能成功获取小写金额。 手机看不到代码。如果没有共同特征 分别取2次不就行了 取小写和元的文本中间,然后只取数字 文本_取出中间文本() 就可以了 那就做两次判断 不用谢使用精益模块7 正则语句小写.*?(\d*\.\d*|0\.\d*\d*|0?\.0+|0).*?元
.版本 2
.子程序 _按钮1_被单击
正则 (#常量1)
.子程序 _按钮2_被单击
正则 (#常量2)
.子程序 正则, 整数型, , 本子程序采用【精易编程助手】生成。成功返回匹配的数量,失败返回0。
.参数 源文本, 文本型, , 欲被匹配的文本
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数, 整数型
.局部变量 局_计次, 整数型
.如果真 (局_正则.创建 (“小写.*?(\d*\.\d*|0\.\d*\d*|0?\.0+|0).*?元”, 源文本, 假, 假, 真, 真) = 假)
信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
返回 (0)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()
.如果真 (局_匹配数 = 0)
信息框 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, , )
返回 (0)
.如果真结束
.计次循环首 (局_匹配数, 局_计次)
输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 1:” + 局_正则.取子匹配文本 (局_计次, 1))
.计次循环尾 ()
返回 (局_匹配数)
本帖最后由 CC 于 2019-12-24 20:11 编辑
源码不一样,去掉HTML标签的纯文本就一样了,这个可以将源码改为纯文本
.版本 2
.子程序 xml_取纯文本, 文本型
.参数 xml源码, 文本型
.局部变量 正则, 正则表达式类
.局部变量 xml, 文本型
xml = xml源码
正则.创建 (“<script[\s\S]*?</script>|<style[\s\S]*?</style>|<[^>]+>|&.{1,8};”, xml)
xml = 正则.替换 ()
返回 (xml) CC 发表于 2019-12-24 20:10
源码不一样,去掉HTML标签的纯文本就一样了,这个可以将源码改为纯文本
.版本 2
...
谢谢大神 b0y 发表于 2019-12-24 18:34
手机看不到代码。如果没有共同特征 分别取2次不就行了
谢谢。主要是每打开一个网页他的代码就可能是一种情况,我这里只是随便找了两个不同的。 kiki 发表于 2019-12-24 19:17
不用谢使用精益模块7 正则语句小写.*?(\d*\.\d*|0\.\d*\d*|0?\.0+|0).*?元
谢谢,没用过模块,我试试
页:
[1]
2