如何使用golang刮取h1标签的标题?

时间:2017-01-05 16:49:42

标签: go web-scraping

假设这是一个h1标签

<h1>FindMe</h1>

在一个包含许多其他h1标签的巨大网页中,但这是第一个h1标签。所以我使用的是net / html包,我正在搜索第一个StartTagToken,在我的程序找到令牌后,我如何得到标题内的内容,即本例中的FindMe。

这是我现在的代码

z := html.NewTokenizer(body)    

for{
    tt := z.Next()

    if tt= html.ErrorToken{
        return
    }
    else if tt== html.StartTagToken{
        tag := z.Token()

        if tag.Data =="h1"{
            fmt.Println("We found the title\n")
            //some code to find what is stored in the heading
        }
    }
} 

我该怎么做?

编辑:更具体地说,变量标签的属性是什么,它会给我内部的文本。我这里的概念术语可能有问题。请耐心等待我

1 个答案:

答案 0 :(得分:1)

您获得的是StartTagToken,您感兴趣的部分介于它和相应的EndTagToken之间TextToken。因此,您需要阅读下一个令牌,Data应该是您之后的价值,例如

...
if tag.Data =="h1"{
   if tt = z.Next(); tt == html.TextToken {
       fmt.Println(z.Token().Data)
   }
}