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