如何获得Go中的第二个h2元素
我在查找出现在页面上的第二个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> //
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的一种非常脆弱的方法。你能给我一个在我的情况下使用的例子吗文档中有一些例子,我不是很理解