HTTrackでのCLI時の強力にサイトをDumpする為のオプション

2 min read

こんにちは、無能です。

HTTrackでのサイトをDumpしているとき、このソフト自体が2000年前後のソフトウェアでありその頃の制約だとかが何故かあったりするので長くなりがちなコマンドに関してはシェルスクリプト上に書いておいているのでここに残しておきます。
特に、日本の記事だとWindowsのGUI版ばかりの記事でCLI操作での情報があまり無いので記録として。

#!/bin/bash

httrack\
    'https://example.com'\
    '+*/*.pdf'\
    --sockets=59\
    --robots=0\
    --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'\
    -O '/media/your/outdir/'\
    --can-go-up-and-down\
    --keep-alive\
    --mirror\
    --depth=999999999\
    -%P\
    --retries=999999\
    --ext-depth=0\
    --timeout=9999\
    -T1000000\
    −−max−rate=0\
    --disable-security-limits

重要なオプションに関して説明しておきます。

max−rate=0

上限値を −−max−rate=999999などにすると標準の速度制限が入るらしく正しく認識されないので、0にすると速度制限のリミットを外せるようです。

disable-security-limits

上記オプションと併用して入れるみたいなのですがどちらが必須なのかはわからなかったのでどちらもいれました。

なお、このオプション自体公式ドキュメントには無いので開発者用オプションとかかもしれませんね。

ext-depth=0

最大の階層指定ですが0だとほぼ無制限に漁っていくようです。

なお、このときext-depth=0にした上で--depth=999999999を入れて999999999の階層まで漁る認識ができるようでext-depth=0だけだとできないかもしれません。

なお、0にしていないと以下のようにエラーが出力されます。

nohup.out:PANIC! : Too many URLs : >99999 [3031]

このオプションが2000年からあるソフトウェアとして想定外の動作をしたということでしょう。


ということで重要な3つのオプションでした。

他に関しては公式ドキュメントを見てください。

https://www.httrack.com/html/fcguide.html

それでは。

またよろしくお願いします。