精易论坛

标题: 易语言调用com对象,实现css表达式爬虫 [打印本页]

作者: 菜鸟菜鸡秋水    时间: 2019-10-20 12:12
标题: 易语言调用com对象,实现css表达式爬虫
1,本人由于去年这个时候,做一个爬虫,但是在解析html数据时,易语言表示非常无力,
2,后来也关注到论坛有人用c做了一个dll,易语言可以调用解析html,本人也有关注,但是由于自己是在不习惯一个exe带着一个dll到处跑,
3,于是本人就尝试着了解易语言能不能实现,
4,在经过一个星期的面向百度编程之后,本人惊奇的发现,com库有一个可以解析html的,连续一星期的测试,终于是成功可以用了,
5,本人也有想过做成模块自己用,后来一想算了,还是开源吧,让大家一起用
6,介绍一下源码吧,
1) 源码本身很小,但是携带者一个用于测试的常量,后期可以删除的,
2) 源码本质是两个类,一个是dom对象,一个是dom对象数组,是模拟数组,
3) 由于css表达式抓取html本身需要一点css基础知识,所以恐怕很难照顾所有用户了
4) 懂前端的朋友都晓得,选择器抓取的数据,一般2两种,
一种是只有一个结果集的(例如 get  by  id  就是返回一个dom节点的),
一种是返回一个数组的(例如  css表达式,获取的结果就是一个数组,哪怕只有一个成员)
所以这就解释了为啥会有两个类,那个dom数组类,就是对返回的结果集的封装,
5) 重要的事情说3遍
本源码需要一定的css基础
本源码需要一定的css基础
本源码需要一定的css基础

自己写的解析html例子.e (1.25 MB, 下载次数: 141)







作者: 菜鸟菜鸡秋水    时间: 2019-10-20 12:25
双击6666666,老铁在哪里
作者: 菜鸟菜鸡秋水    时间: 2019-10-20 12:43
新问答, 6666666666666

888.png (17.27 KB, 下载次数: 0)

888.png

作者: 项目部004    时间: 2019-10-21 17:43

之前也有写过类似的,感谢提供,下期版本发布前加入该类模块!
作者: YJlanglang    时间: 2019-10-23 10:54
完全觉得没必要的
作者: yangshulin    时间: 2019-10-29 21:55
易语言调用com对象,实现css表达式爬虫开源
作者: 菜鸟菜鸡秋水    时间: 2019-10-31 12:13
YJlanglang 发表于 2019-10-23 10:54
完全觉得没必要的

正则解决不了大型爬虫,因为正则的前提是数据有规则,而网页经常不符合你的正则规则,但是网页绝对符合css选择器规则,你遇到过才有体会,
作者: 情殇QAQ    时间: 2019-11-1 19:34
此处应该有鼓励
作者: 765487363    时间: 2019-12-28 19:26
伫倚危楼风细细,望极春愁,黯黯生天际。草色烟光残照里,无言谁会凭阑意。
拟把疏狂图一醉,对酒当歌,强乐还无味。衣带渐宽终不悔,为伊消得人憔悴。
作者: zeyu12    时间: 2020-3-4 20:56
菜鸟菜鸡秋水 发表于 2019-10-31 12:13
正则解决不了大型爬虫,因为正则的前提是数据有规则,而网页经常不符合你的正则规则,但是网页绝对符合cs ...

我用了快半年的正则了,没想到模块封装了这么好的dom类
作者: zaochen0391    时间: 2020-8-4 21:33
拿走学习了
作者: zaochen0391    时间: 2020-8-5 14:10
回来表扬下   好东西   就是那个{一串数字}不懂
作者: zaochen0391    时间: 2020-8-6 18:20
这个是什么  
作者: 菜鸟菜鸡秋水    时间: 2020-8-6 23:44
zaochen0391 发表于 2020-8-6 18:20
这个是什么

是这样的 ,这里 其实有两种 传参方式 ,
这是其中一种,这是com库的唯一id,
还有就是传入com库的名字,   http.com  类似这样的,

作者: 菜鸟菜鸡秋水    时间: 2020-8-7 19:16
zaochen0391 发表于 2020-8-5 14:10
回来表扬下   好东西   就是那个{一串数字}不懂

id  都是一样的  否则 怎么能 到处运行呢  
另外 告诉你一点 小秘密,
很多com库的例子 ,
都可以在 vb 里面找到,
可以搜索一下  vb  相关资讯

作者: NIVEA    时间: 2020-8-11 23:07
线程里好像用不了
作者: key    时间: 2021-12-10 03:40
此处应该有鼓励~
作者: hujiuyi    时间: 2022-9-27 10:51
{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}
作者: 爱易编程    时间: 2023-5-21 08:55
谢谢分享啊!
作者: xiassang    时间: 2024-7-12 20:56
666666666666666666666
作者: 梁忠瑞    时间: 2025-6-17 11:47
大哥你这个文档看不懂啊  要怎么取出 ck1下面thobdy下面的 tr数组    <table id='ck1'><thobdy><ht>1111</ht><ht>1111</ht><ht>1111</ht><ht>1111</ht></thobdy></table>




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