GoでWebページをダウンロード
みんな興味があるスクレイピングだけど、相手先のサーバーに無駄に負荷をかけることになるので、とりあえずローカルにページを保存する方法です。
勝手にスクレイピングしちゃうし、最低限のマナーかなと思うし。
それでGoでどうやってHPを保存するかというと、意外と簡単です。
まずいつものように
↓↓
import (
"io"
"log"
"net/http"
"os"
"path/filepath"
)
必要なライブラリをインポートしちゃいます。
必要なページのアドレスを送って
resp, err := http.Get(url)
保存先を作成したら
out, err := os.Create(filepath.Join(saveBaseDir, saveFilename))
中身を保存しちゃう
_, err = io.Copy(out, resp.Body)
これだけでOK
エラー処理は適当にしちゃうけど、短いコードで出来るので
難しく考えなくてもいいのは気軽でいい。