精易论坛

标题: 易语言Xpath HTML表达式解析【 HZKpath表达式】 [打印本页]

作者: hzk0404    时间: 2022-3-11 03:15
标题: 易语言Xpath HTML表达式解析【 HZKpath表达式】
本帖最后由 hzk0404 于 2022-3-11 03:28 编辑
最近自己有需要解析网页HTML的需求,在网上找了很多例程和源码后发现都不符合我想要的需求,因为浏览器有Xpath语言,我也希望再易语言中再现Xpath的功能,于是学习了精易模块的DOM功能后决定自己开发一套表达式语言!!!!先上截图功能需要用模块中的类命令调用


  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
结果数组文本型0 
HZKpathHZKpath  
i整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
编辑框1.内容 = #常量1
HZKpath.初始化_解析文本 (编辑框1.内容)
子程序名返回值类型公开备 注
_按钮1_被单击  
列表框1.清空 ()
HZKpath.表达式_置表达式解析 (编辑框2.内容, 结果数组)
计次循环首 (取数组成员数 (结果数组), i)
列表框1.加入项目 (结果数组 [i], )
计次循环尾 ()

主要功能在模块中,模块命令只有三个

通过用类命令来返回解析的文本数组,只要计次循环取出就好
表达式结构
表达式A | 表达式B
示例://div/a/img[2]/@alt | //div[@class<>head]//input/@id
解析:表达式A是 //div/a/img[2]/@alt 表达式B是 //div[@class<>head]//input/@id
结果:先分析表达式A 后分析表达式B 结果先是A后是B 直接合并

表达式语法说明书在线说明书
https://shimo.im/docs/Ee32MZJrOxiV9LA2
离线说明书(可能不是最新)
HZKpath使用语法说明书.7z (414.53 KB, 下载次数: 106)

模块下载
HZKpath模块1.0.7z (537.06 KB, 下载次数: 155)
例程下载
HZKpath模块例程1.0.zip (385.86 KB, 下载次数: 212)

反馈或者建议QQ或者聊天群(最新模块更新发布):181789014肝了整十天,希望各位能支持新人发帖~感谢各位支持啦





补充内容 (2022-3-29 21:58):
V1.4版本更新链接:https://125.confly.eu.org/forum.php?mod=viewthread&tid=14723509

补充内容 (2022-4-15 12:51):
V2.0版本更新 https://125.confly.eu.org/forum.php?mod=viewthread&tid=14725887

补充内容 (2022-5-11 01:22):
V3.0版本更新:https://125.confly.eu.org/forum.php?mod=viewthread&tid=14729326

Snipaste_2022-03-11_00-38-19.png (34.49 KB, 下载次数: 2)

Snipaste_2022-03-11_00-38-19.png

作者: itoljeipw    时间: 2022-3-11 08:33
谢谢分享!
作者: sinewtec    时间: 2022-3-11 09:30
看着不错的样子
作者: 396384183    时间: 2022-3-11 10:18
有一次厉害的创举
作者: xjshuaishuai    时间: 2022-3-11 11:09
谢谢分享!
作者: Gosling    时间: 2022-3-11 11:38
谢谢分享!
作者: quary888    时间: 2022-3-11 12:52
谢谢楼主分享!!! 好人一生平安!!!
作者: 一一一2    时间: 2022-3-11 13:43
厉害能不能跟python的xpath做到一致方便移植
作者: 吃干饭的锅    时间: 2022-3-11 13:45
用得到。顶一下
作者: 冰棍好烫啊    时间: 2022-3-11 20:50
模块开源出来吧
作者: hzk0404    时间: 2022-3-12 01:56
一一一2 发表于 2022-3-11 13:43
厉害能不能跟python的xpath做到一致方便移植

啊,他的表达式太难解析了,我用的是纯文本解析,你可以自己写一个Xpath到的这个的算法,你自己转换一下下,其实就文本转换一下就好了呀,我这个内核是精易模块的Dom指令,跟Xpath功能差的比较多
作者: heiioxiaojian    时间: 2022-3-12 11:33
感谢分享,很给力!~
作者: orjg    时间: 2022-3-12 15:43

感谢分享,很给力!~
作者: 牛牛1988    时间: 2022-3-13 12:47
谢谢楼主分享!!! 好人一生平安!!!
作者: 迷糊的弟弟    时间: 2022-3-13 20:09
厉害,谢谢大佬的分享
作者: winterla123    时间: 2022-3-16 15:03
感谢分享,很给力!~
作者: nicklu883    时间: 2022-3-20 11:56
功能很厉害,但能不能在编译模块的时候把调试输出去除,不然引用模块的时候输出速度很慢
作者: hzk0404    时间: 2022-3-21 01:54
nicklu883 发表于 2022-3-20 11:56
功能很厉害,但能不能在编译模块的时候把调试输出去除,不然引用模块的时候输出速度很慢 ...

哈哈哈,好的好的,调试输出忘了删除了哈哈哈哈,最新的你到群里拿吧
作者: Rosemajor    时间: 2022-3-22 12:26
功能很厉害,但能不能在编译模块的时候把调试输出去除,不然引用模块的时候输出速度很慢
作者: 小马爱吃鱼    时间: 2022-3-27 14:04
和E2EE的网页分析是不是同类型的解析
作者: rjsyt    时间: 2022-3-31 17:01

路过围观一下,顺便帮顶
作者: ketong    时间: 2022-4-12 00:30
dom模块至今不会用
作者: hailie    时间: 2022-4-13 11:59
感谢开源,顶一下
作者: wlaita2286    时间: 2022-4-13 19:26
请问可以分享一下这个黑色背景,配色吗?这个配色挺不错
作者: 梦之情    时间: 2022-4-13 20:20
不是模块源码吗。那没啥用啊。
作者: 梦之情    时间: 2022-4-13 20:25
求出一个格式化的,
作者: xtavoxing    时间: 2022-4-16 02:23
好牛好牛.
作者: shuaier    时间: 2022-4-24 08:20
支持开源~!感谢分享
作者: guayafem12    时间: 2022-4-25 16:23
感谢分享
作者: guayafem12    时间: 2022-4-25 16:37

支持开源
作者: 一一一2    时间: 2022-5-1 22:30
我以为易语言写不了这个呢
作者: liunix    时间: 2022-5-11 23:33
666666666666666
作者: lexuan    时间: 2022-5-23 11:33
我以为易语言写不了这个呢
作者: kimeti    时间: 2022-8-23 09:06
谢谢分享
作者: 风林听雨    时间: 2022-10-6 10:26
本帖最后由 风林听雨 于 2022-10-6 10:29 编辑


首先感谢能分享模块。使用很方便。但不明白的是这个模块解析本地html为什么会访问网络?能合理地解释一下吗?希望不是后门


作者: q1738398717    时间: 2022-12-4 19:16
66666666666666666666
作者: q1738398717    时间: 2022-12-4 19:17
777777777777777777777777777777777777777777777
作者: 鸿运    时间: 2022-12-26 16:00
        感谢发布原创作品,精易因你更精彩!
作者: 2045109515    时间: 2022-12-30 10:27
66666666666666666666666666666666666666666666666666666666666666666666666666666666666
作者: 电子发烧友    时间: 2023-2-6 20:10
好好学习用上
作者: Easy易人    时间: 2023-4-11 00:47
666666666666666
作者: xiaolan666    时间: 2023-5-18 01:25
        感谢发布原创作品,精易因你更精彩!
作者: xiaolan666    时间: 2023-5-18 01:25

我以为易语言写不了这个呢
作者: winson101    时间: 2023-8-8 14:58
yyds永远的神
作者: aini1wna2    时间: 2023-9-30 20:18
终于有大佬搞了!
作者: 勉勉    时间: 2024-2-8 09:47
感谢分享~~~~~~~~~
作者: hehe195488    时间: 2024-2-14 20:51
好东西支持作者
作者: aiso    时间: 2024-3-2 21:27
感谢发布原创作品,精易因你更精彩
作者: 耳东言己    时间: 2024-3-4 16:43
学习了                                    
作者: fire9    时间: 2024-3-30 13:42
不错!         
作者: 小轩鹤轩    时间: 2024-4-27 10:46
感谢分享
作者: hzk0404    时间: 2024-5-4 18:27
风林听雨 发表于 2022-10-6 10:26
首先感谢能分享模块。使用很方便。但不明白的是这个模块解析本地html为什么会访问网络?能合理地解释一下 ...

我之前有参加开源比赛,你可以使用开源的版本,也会联网的,因为模块里面有联网功能
作者: zr0081    时间: 2024-5-20 12:45
感谢发布原创作品,精易因你更精彩
作者: 凯弟吖    时间: 2024-5-26 02:07
支持支持
作者: yjtnihaoma1    时间: 2024-7-18 14:41
我没有币下载不到啊 楼主大大
作者: yjtnihaoma1    时间: 2024-7-18 14:42
等我赚够了币就来下载 谢谢楼主大大
作者: angelxi    时间: 2024-9-21 16:35
学习一下
作者: 时光笔记    时间: 2024-12-16 14:30

作者: bayueqiutian    时间: 2025-4-12 19:33
签到打卡 谢谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4