如何获得Go中的第二个h2元素

如何获得Go中的第二个h2元素,go,web-scraping,html-parsing,Go,Web Scraping,Html Parsing,我在查找出现在页面上的第二个h2元素时遇到了一个问题。我正在查找第一个元素,但我不确定如何获取第二个元素。我不确定是否可以使用像class=”“这样的属性来帮助我,所以我不确定是否可以添加这些属性,我只是不知道 以下是HTML中与此相关的2个h2元素: <h2><a class="white" href="/department/men/">SHOP MEN'S DEPARTMENT</a></h2> //

我在查找出现在页面上的第二个h2元素时遇到了一个问题。我正在查找第一个元素,但我不确定如何获取第二个元素。我不确定是否可以使用像
class=”“
这样的属性来帮助我,所以我不确定是否可以添加这些属性,我只是不知道

以下是HTML中与此相关的2个h2元素:

<h2><a class="white" href="/department/men/">SHOP MEN'S DEPARTMENT</a></h2>

// Somewhere down below vv

<h2 class="indentlr notranslate" itemprop="name">Space Hippie 04 Volt Mens Running Shoe (Grey/Black/Volt/Ice Blue) Free Shipping</h2>

//在vv以下的某个地方
太空嬉皮士04伏特男式跑步鞋(灰色/黑色/伏特/冰蓝色)免费送货
我想在第二个h2标签之间打印文本:太空嬉皮士04伏特男式跑步鞋(灰色/黑色/伏特/冰蓝色)免费送货

这是我的密码:

      // Previous request

if res.StatusCode >= 200 && res.StatusCode <= 299 {
        dataInBytes, err := ioutil.ReadAll(res.Body)

        pageContent := string(dataInBytes)

        if err != nil {
            log.Fatal(err)
        }

        // Find a substr
        h2Index := strings.Index(pageContent, "<h2>")
        if h2Index == -1 {
            fmt.Println("No title element found")
            os.Exit(0)
        }

        h2Index += 7

        h2EndIndex := strings.Index(pageContent, "</h2>")
        if h2EndIndex == -1 {
            fmt.Println("No closing tag for title found.")
            os.Exit(0)
        }

        pageTitle := []byte(pageContent[h2Index:h2EndIndex])

        fmt.Printf("Page title: %s\n", pageTitle) // Prints the <a> tags in between the first h2  (<a class="white" href="/department/men/">SHOP MEN'S DEPARTMENT</a>)
}

//以前的请求

如果res.StatusCode>=200&&res.StatusCode字符串搜索是解析html的一种非常脆弱的方法。你能给我一个在我的情况下使用的例子吗文档中有一些例子,我不是很理解