package main import ( "fmt" "github.com/antchfx/htmlquery" "io/ioutil" "net/http" ) func main() { var url string = "https://www.huya.com/l" resp, _ := http.Get(url) defer resp.Body.Close() doc,_ := htmlquery.Parse(resp.Body) list := htmlquery.Find(doc, "//ul[@id='js-live-list']//li") for _,li := range list{ nick := htmlquery.FindOne(li,"//i[@class='nick']/text()") //people := htmlquery.FindOne(li,"//i[@class='js-num']/text()") //title := htmlquery.FindOne(li,"//a[@class='title']") img := htmlquery.FindOne(li,"//a[@class='video-info ']/img/@data-original") //fmt.Printf("%s %s %s %s ",htmlquery.InnerText(nick),htmlquery.InnerText(people),htmlquery.SelectAttr(title,"title"),htmlquery.SelectAttr(img,"data-original")) imgurl := htmlquery.SelectAttr(img,"data-original") titleString := htmlquery.InnerText(nick) savepic(imgurl,titleString) } } func savepic(url string,name string ) { if len(url)<= 0{ return } if url[0:2] == "//" { url = "http:"+url } resp, err := http.Get(url) if err !=nil{ fmt.Println("http error",err) return } content, err1 := ioutil.ReadAll(resp.Body) if err1 != nil{ fmt.Println("read err",err1) return } file := ioutil.WriteFile("./imgs/"+name+".jpg", content, 0777) if file != nil { fmt.Printf("下载图片%s 失败 ", name) } else{ fmt.Printf("下载图片%s 成功 ", name) } }