gpt4 book ai didi

html - 使用 goQuery 按 id 搜索标签

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:20 25 4
gpt4 key购买 nike

我想使用 Go 检索具有特定 ID 的所有标签。显然,最简单的方法是使用 goquery。

假设我正在网站 site 中寻找 ID 为 MyTagul 标签。我想列出这样一个ul中包含的所有li。我以前从未使用过 jQuery,所以感觉有点迷茫。

resp, _ := http.Get(site)
httpBody := resp.Body
node, _ := html.Parse(httpBody)
document := goquery.NewDocumentFromNode(node)
document.Find("ul.MyTag").Each(func(i int, ul *goquery.Selection) { //MyTag will not work here
ul.Find("li").Each(func (i int, li *goquery.Selection){
...
})
})

更具体地说,我的 html 看起来像

<html>
<body>
<ui id="yes">
<li key="1">a</li>
<li key="2">b</li>
<li key="3">c</li>
<li key="4">d</li>
</ui>

<ui id="no">
<li key="1">11</li>
<li key="2">22</li>
<li key="3">33</li>
<li key="4">44</li>
</ui>
</body>
</html>

我想取回 key 1,2,3,4

奖励问题:为什么 Each 有一个 int 参数?好像根本没用过

最佳答案

GoQuery 使用与 jQuery/CSS 相同的选择器语法。为此,如果您想查找具有特定 ID 的元素......那么您需要使用散列 # 符号。

document.Find("ul#MyTag")...

也就是说,ID 应该是唯一的。您正在使用的上述代码(我在您之前的问题中提供的代码).. 按 class(点 . 表示法)搜索。

向我们展示您正在使用它的标记,我将能够准确地看到您哪里出错了。

回复:你的奖励问题。 int 参数是元素在其父元素中的索引。您必须才能使用它。不过它是由 goquery 提供的。

关于html - 使用 goQuery 按 id 搜索标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com