当前位置: 首页 > 工具软件 > goquery > 使用案例 >

(二)goQuery

晁英彦
2023-12-01

(二)goQuery


​ 在上一篇(一)中我们说了可以通过正则来提取我们想要从网站响应中拿到的数据,但是这种方法比较“笨重”,而且我个人觉得比较麻烦,不是特别好用。这个时候就要说起 goQuery,它是 jQuery的go版本实现。因为我没有了解过jQuery,我的个人理解前端排版都是会生成一个dom树,各个要显示的元素就一级一级“挂”在树上的某个位置,前端需要找到某个元素肯定需要一个快速定位的方法,肯定不能是对源代码进行文档搜索修改, goQuery就是把我们获得的响应里的页码字符串 frameHtml重建回一个dom树,然后通过对树节点的描述去找到树上的节点。

​ 举一个小小的例子,比如dom.Find("div.#chantor") 就是选择id名为chantor的div元素意思。

​ 关于goQuery的选择器使用方法大家请看飞雪无情 golang goquery selector(选择器) 示例大全

注意:

​ goquery是基于 Go net/htm包和css选择器库 cascadia。由于net/htm解析器返回的是DOM节点,而不是完整的DOM树,因此, jQuery的状态操作函数没有实现(像height(), css(), detach)。

​ goquery只支持utf-8编码,其他编码需要转换。

​ 在学习完飞雪无情的博文后,相信大家对goQuery也有了全面的了解(哈哈哈我好官方),goQuery在元素的关系中基本是父->子、兄->邻弟的思想,那假如我们需要根据一个元素定位它的父元素呢? 这个时候就不能用goQuery了(也有可能是我没有找到希望有大大指出),需要使用XPATH选择器,在Selenium中可以使用这个选择器。关于XPATH的教材网上一搜就是,比如https://www.w3school.com.cn/xpath/xpath_syntax.asp。

 类似资料: