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

185 阅读1分钟

  使用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替换为你想要的文件路径即可。

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