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\n",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 失败\n", name)
} else{
fmt.Printf("下载图片%s 成功\n", name)
} }

  

最新文章

  1. Linux命令学习总结:cp命令
  2. js瀑布流(定位法)
  3. OpenCV图像的二值化
  4. My97DatePicker日期范围限制
  5. 高效查看MySQL帮助文档的方法
  6. C++位操作符总结
  7. 使用poi将word转换为html
  8. JVM之---Java内存分配参数(第四篇)
  9. sql语句收集
  10. 1441: Min
  11. jmeter入门(02)测试报告各项指标含义
  12. ubuntu不能联网的问题
  13. Excel编辑栏字体显示大小
  14. 状态机学习(六)解析JSON2
  15. PHI 数据库简介
  16. Javascript-逻辑运算符非(!)
  17. URAL 1513 Lemon Tale
  18. python的 del 函数是删对象还是删引用
  19. Docker使用阿里云镜像加速
  20. 一些$LCT$的瓜皮题目

热门文章

  1. python基础:网络编程
  2. 【原创】解BUG-xenomai内核与linux内核时间子系统之间存在漂移
  3. [POJ]Find The Multiple(DFS)
  4. [补题]求a[i]+a[j]+i-j的最大值,要求i&lt;j
  5. Mybatis注解开发案例(入门)
  6. 预科班D6
  7. 透过 Cucumber 学习 BDD
  8. Java Object类方法解析
  9. linux之磁盘整理
  10. 科普-- 白话HTTPS