東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

スクレイピングのテストのため、wgetでhtmlファイルを事前にダウンロードする


スポンサードリンク

背景

スクレイピングのテストのために、クローラでwebサーバにアクセスするのは気がひけます。というのも、クローリングするたびに相手のwebサーバに負荷をかけてしまうので。

そこで、事前にhtmlファイルを事前にダウンロードしておけばいいのではないかと考えました。

wgetを使用してダウンロード

wgetを使用してhtmlファイルをダウンロードします。

wgetにはダウンロード対象となるURLをリストを読み込むことができますので、それを活用します。

リストの作成はsitemap.xmlを利用する

対象となるサイトにsitemap.xmlを利用します。

golangにsitemap.xmlを解析できるものがあるので、活用します。

github.com

htmlをダウンロードするコマンド

-iでリスト化されたファイルから読み込みます。

また、-wで取得間隔を調整します。-w 3とすると、3秒間待ってからwgetを取得します。

ユーザエージェントもついでに設定しています。

wget -i list -w 3 --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"

wgetでこういう時はこうする!! - Qiita