這次依然是將之前python下載圖片的操作,試著使用Go來玩玩看!
不得不說啊~~Go果然是為著網路而生!
從上一篇用Go擷取網路新聞的操作,到這篇的網路圖片下載操作~都讓人感到一陣順心如意啊~~哈!
另外~~透過Go mod的模組管理機制,在編寫程式過程,Go也會自動引入(import)相關的模組~相當smart、便利!
這次依然示範下載google Doodle 網站中的:
https://www.google.com/logos/doodles/2021/first-day-of-school-2021-january-04-6753651837108833-2x.png好囉~~~一樣直接上程式碼🐎囉......
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
"strings"
)
func main() {
url := "https://www.google.com/logos/doodles/2021/first-day-of-school-2021-january-04-6753651837108833-2x.png"
path := strings.Split(url, "/")
name := path[len(path)-1]
out, _ := os.Create(name)
defer out.Close()
r, _ := http.Get(url)
defer r.Body.Close()
pic, _ := ioutil.ReadAll(r.Body)
io.Copy(out, bytes.NewReader(pic))
//out.Write(pic)
fmt.Printf("檔案:%s下載完成!", name)
}
使用起來算是相當便捷!
解讀一下程式,基本上一樣是透過幾個步驟~~~
1.解析獲取圖檔名:14~15行
2.創建存檔檔名(以原檔名進行下載保存):17行
3.獲取圖檔資訊:20~23行
4.寫入檔案:24行(25行是寫入檔案另一種方法)
練習、玩玩也記錄學習歷程~~增加學習玩樂動力!Go~~~
沒有留言:
張貼留言