Macでスクレイピング(サイト丸ごとDLしたい場合)

Macで利用できるツールとして、 HTTrack、Scrapy、wget、curlなどがある。

そのうち、wgetがかんたんでオススメ。HTTrackはwait timeの指定がよくわからず(Apacheログで確認したところ、デフォルトだと1URL1秒のようだった)、利用をやめた。

wgetのインストール

$ brew install wget

そのあとに以下コマンドを打つとgettext関係でエラーが出るはず。

$ wget -h

以下サイトを参考に解決させる。

【OS X】wgetコマンドが使えない際の解決方法(2019)

wgetの実行

HTML上のリンクを辿って、サイトを丸ごとDLする場合は、-rをつけてwgetする。その際に、必ず--waitを指定して、1DL毎の待機時間を設けて、攻撃していると見なされないようにすること。

コマンド例

$ wget -r --wait=[1DL毎の待機時間] [対象のURL]

localhostに1DL毎に10秒待機してサイトをDLする場合。

$ wget -r --wait=10 http://localhost:8888/

DLが終わるとフォルダが作成され、そこにファイルが入っている。

$ ls localhost\:8888/