Skip to content

Instantly share code, notes, and snippets.

@Y-Koji
Last active August 15, 2018 14:22
Show Gist options
  • Save Y-Koji/e3da9328901888516c2a0bd90aef906f to your computer and use it in GitHub Desktop.
Save Y-Koji/e3da9328901888516c2a0bd90aef906f to your computer and use it in GitHub Desktop.
クローリング用wgetコマンド
# Windows Command Prompt.
set url=https://google.co.jp/
wget -r -l 0 -random-wait --restrict-file-names=windows -np -N -E -k -T 15 "%url%"
# Linux(bash)
url=https://google.co.jp/
wget -r -l 0 -random-wait --restrict-file-names=windows -np -N -E -k -T 15 "$url"

概要

urlのパラメタで指定したWebサイトの内容をごっそりダウンロードしてスクレイピングしたりオフラインで読めるようにしたり永久保存する用のコマンド.

やってることはwget叩いてるだけ.

引数説明

  • -r: 再帰的にリンクを取得する.
  • -l: 取得する階層(0であるだけ落とす).
  • -random-wait: 500ms~1000ms秒適当に待機を入れながら落とす(負荷軽減).
  • --restrict-file-names=windows: url名にwindowsで利用できない文字があれば適当に置換する.
  • -np: 指定されたurlより親の階層は取得しない.
  • -N: 以前に実行した際,すでにDL済みで更新日付も変わらなければ無視する.
  • -E: 拡張子が.htmlじゃないurlなら自動で付与する.
  • -k: 取得したhtml内のハイパーリンクを落としてきたファイルに書き換え.
  • -T: タイムアウト判定の秒数.デフォルトは900秒.

その他

  • -R: 指定の文字列を含むurlは除外する.(除外する文字列はカンマ区切りで複数指定できる.)
  • -nc: 既に取得済みなら再取得は行わない.(Ctrl+c等でキャンセルした後に使える.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment