updater = append(updater,
&Proxies{
func() {
doc, err := goquery.NewDocument("url")
if err != nil {
log.Fatal(err)
}
doc.Find("table.table-striped").Find("tr").Each(func(i int, s *goquery.Selection) {
// For each item found, get the band and title
band := s.Find("td").Eq(1).Text()
title := s.Find("td").Eq(2).Text()
ne := Proxy{"http", band, title}
addProxy(ne)
})
},
})
}
之前json方式由于go语言不熟,替换和分割都需要现学,干脆又研究了爬取html页,在研究规范化html代码过程中遇到了goquery,只要以下几行代码就可以实现一个代理列表html页面的爬取,而且对于页面格式、代码格式兼容性极强,目前已成功添加了新的代理列表页,特此分享回报! 代码:
updater = append(updater, &Proxies{ func() { doc, err := goquery.NewDocument("url") if err != nil { log.Fatal(err) } doc.Find("table.table-striped").Find("tr").Each(func(i int, s *goquery.Selection) { // For each item found, get the band and title band := s.Find("td").Eq(1).Text() title := s.Find("td").Eq(2).Text() ne := Proxy{"http", band, title} addProxy(ne) }) }, }) }