使用Go語言和colly庫來下載指定網站圖片的程式

金木大大大發表於2023-11-23

  使用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部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2996725/,如需轉載,請註明出處,否則將追究法律責任。

相關文章