2014-09-30 87 views
1

我想列出在网页中找到的所有令牌。其核心是在功能来自html.NewTokenizer.Token的意外HTML令牌()

func find_links(httpBody io.Reader) []string { 

    links := make([]string, 0) 
    page := html.NewTokenizer(httpBody) 
    for { 
     tokenType := page.Next() 
     if tokenType == html.ErrorToken { 
      return links 
     } 
     token := page.Token() 
     fmt.Println("Now token is ", token) 
    } 
} 

当我打印输出我得到类似

Now token is <body> 
Now token is 

Now token is <header> 

我不明白的第二令牌是什么,以及为什么它是印刷一个额外的空行。一个工作示例的here

全代码,即使它不能因为缺少的HTTP包

+0

看起来您正在匹配一个回车符号作为令牌。 (注意:绝对不知道去,所以我不能帮你修复它)。 – 2014-09-30 23:49:02

回答

1

的第二令牌的操场上运行是含有一个换行符TextToken

打印更改为

fmt.Printf("Now token is %T %v\n", token, token) 

看到类型的令牌。

+0

这将解释第二行;但我仍然不明白为什么我有一个空白行 – meto 2014-09-30 23:51:43