使用goquery模块代替正则匹配的方式获取数据。
来源:15-8 用户信息解析器(上)

qq_腾讯nickxie_0
2018-10-08
resp, err := http.Get(“http://album.zhenai.com/u/105929580”)
reader := bufio.NewReader(resp.Body)
document, err := goquery.NewDocumentFromReader(reader)
if err != err {
fmt.Println(err)
return
}
nicknane := document.Find(".brief-name .name").Text()
var userinfo []interface{}
document.Find(".brief-table td").Each(func(i int, selection *goquery.Selection) {
d := selection.Text()
userinfo= append(userinfo,ConvertToString(d,"gbk","utf-8"))
})
document.Find(".floor-table td").Each(func(i int, selection *goquery.Selection) {
d := selection.Text()
userinfo= append(userinfo,ConvertToString(d,"gbk","utf-8"))
})
fmt.Println(ConvertToString(nicknane,"gbk","utf-8"))
for i,v := range userinfo {
fmt.Println(i,v)
}
通过goquery模块使用css选择器获取数据,感觉比正则表达式更简洁清晰?
写回答
1回答
-
是的。我只是因为课程的通用性而选择了正则表达式。同学的goquery写法,如果熟悉的话的确对于这个特定的需求是更好的。
00
相似问题