ITPub博客

首页 > 大数据 > 数据分析 > 使用Go语言和colly库来下载指定网站图片的程序

使用Go语言和colly库来下载指定网站图片的程序

原创 数据分析 作者:金木大大大 时间:2023-11-23 10:27:50 0 删除 编辑

  使用Go语言和colly库来下载指定网站图片的程序。


  ```go


  package main


  import(


  "fmt"


  "net/http"


  "io/ioutil"


  "os"


  "github.com/schollmi/colly"


  )


  func main(){


  //创建一个新的colly爬虫


  c:=colly.NewCollector()



  //添加一个图像爬虫规则


  c.OnImage(func(img*colly.Image){


  //下载图片


  resp,err:=http.Get(img.getSource())


  if err!=nil{


  fmt.Println("Error downloading image:",err)


  return


  }


  defer resp.Body.Close()


  //保存图片


  _,err=ioutil.WriteFile("image.jpg",resp.Body,0644)


  if err!=nil{


  fmt.Println("Error saving image:",err)


  return


  }


  fmt.Println("Image downloaded and saved.")


  })


  //访问指定的网站


  c.OnHTML("/",func(e*colly.HTMLElement){


  //获取图片的src属性


  imgURL:=e.DOM.Get("img").Get("src")


  if imgURL!=nil{


  //添加图片爬虫规则


  c.OnImage(func(img*colly.Image){


  img.SetSource(imgURL.String())


  })


  }


  })


  //开始爬虫



  }


  ```


  这个程序首先创建一个新的colly爬虫。接着,它添加了一个图像爬虫规则,该规则会在网页中找到所有的图像,并下载它们,获取了网页中的所有图像的src属性。对于每个图像,它都会添加一个新的图像爬虫规则,并将图像的src属性设置为图像的源。这样,当图像爬虫规则检测到图像时,它就会使用新的源下载图像。


  注意,这个程序下载图像后会保存为image.jpg。如果你想保存其他文件名,只需将image.jpg替换为你想要的文件名即可。同样,如果你想要保存在其他目录,只需将image.jpg替换为你想要的文件路径即可。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70032566/viewspace-2996725/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-10-12

  • 博文量
    249
  • 访问量
    157732