Mac の wget コマンド: ウェブサイトを一括でダウンロード
UB3/informatics/commands_mac/wget_mac
このページの最終更新日: 2024/09/30- wget のインストール
- wget の使い方
- wget の実際: 各種ブログサイトで試してみた結果など
広告
概要: wget のインストール
wget はウェブサイトを一括でダウンロードできる便利なコマンドである。Mac の ターミナル や Linux で使うことができるが、もともとインストールされているコマンドではないので、まずインストールする必要がある。
また、Mac の総合開発環境である
インストールの過程で以下のようなエラーウィンドウが出たら、Xcode を入れろということ。
Homebrew を使用
バイナリファイルからインストール
この方法は複雑で、2014 年に一度成功、2017 年に別の Mac で試したが、セキュリティの問題が解決できず、うまくいかなかった。
一応、2014 年のインストール記録を残しておく。2014年8月23日, Mac OS X 10.9.4, 1.86 GHz Intel Core 2 Duo, 参考サイトは Ref 1 および 2。
Documents の中に wget というフォルダを作り、そこにインストールする。
$ mkdir wget
$ cd wget
$ sudo curl -O http://ftp.gnu.org/pub/gnu/wget/wget-1.13.4.tar.gz
sudo コマンドなのでパスワードを要求される。うまくいくと、このフォルダに wget-1.13.4.tar.gz というファイルがダウンロードされるので、このファイルを解凍する。
すると wget-1.13.4 というフォルダができるので、cd コマンドでそこへ移動して configure を実行。
$ sudo ./configure –with-ssl=openssl
私の場合はここでエラー。オプションを除いて試してみたりしても、以下のいずれかのエラーがでて止まってしまう。
- configure: error: invalid variable name: `–with-ssl'
- configure: error: –with-ssl was given, but GNUTLS is not available.
このときは、-with-ssl-openssl というオプション部分を コピぺでなく手打ちして追加 したら解消される。たぶん、ハイフンとダッシュの違い などが影響していたのだろう。
このあとは
$ sudo make install
で完了。
2017 年に自宅の Mac で再トライしたときは、どうも SSL 接続を確立することができなかった様子。インストールとはまた別の問題ではあるが、まだ解決できていない。
wget の使い方
ダウンロードしたいサイトの URL を使って以下のように実行する。興味のあるサイトを丸ごとダウンロードできるオプション付きで示しておく。-r の次の -l は小文字の L である。
成功すると
FINISHED --2014-08-22 22:21:03--
Total wall clock time: 10m 31s
Downloaded: 405 files, 8.9M in 1m 5s (140 KB/s)
という完了メッセージとともに wget-1.13.4 の中に ultrabem.jimdo.com というフォルダができて、html ファイルが保存される。
オプション一覧
wget のバージョンによるのかもしれないが、少なくともこれを書いているバージョン 1.21.4 built on darwin22.4.0 では、長いフルのオプションとショートカットがある。
つまり、例えばバージョンを調べたい場合は wget --version であるが、これは wget -V と同じ。wget --help でオプションの一覧を見ることができる。以下は一部。
-r |
再帰的取得を行う。 |
-l Number |
リンクをたどる階層数を指定する。 上のコマンドでは、まず指定された http://ultrabem.jimdo.com を取得し、ここから 3 個までリンクを辿り、含まれる全てのページを取得するということになる。 |
-m |
-N -r -l inf --no-remove-listing のショートカットであり、無限に再帰してローカルよりも新しいファイルをダウンロードする。 |
-x |
ローカルにディレクトリを作って保存する。ファイルが整理されるので、常に入れるようにしている。 |
-p |
ページを表示するのに必要なファイルを全てダウンロードする。画像など。 |
-c |
ダウンロードに失敗しても、やり直しする。 |
-E |
正しい拡張子で保存する。 |
-k |
取得時に絶対リンクを相対リンクに書き換える (参考: リンクの種類と張り方)。 下の項目で述べるように、ブログをダウンロードすると絶対リンクが張られていることがある。この場合、取得した html をローカルで開いても、リンクをクリックするとウェブサイトに飛んでしまう。 私の場合、貴重なサイトは万が一消えた時にもローカルで見られるように保存しているので、これは都合が悪い。つねに -k オプションを入れるようにしている。 |
--restrict-file-names=OS |
OS が使うことのできるファイル名をつける。 |
WordPress サイトの静的化に使う
このページ では、以下のようなオプションをつけて実行している。私の場合は、Unable to locally verify the issuer's authority.というエラーが出たので、--ca-certificate=/usr/local/etc/ssl/cert.pem を追加する必要があった (参考)。
または、--ca-certificate の行を --no-check-certificate とする方法がターミナルで suggest された。これでも大丈夫のようだ。
wget の実際
Jimdo |
Jimdo は sudo wget -r -l 3 -x http://ultrabem.jimdo.com で 3 階層の取得ができた。805 個のファイル、26 M をダウンロードするのに約 12 分かかった。 |
Google Blogspot |
OK。しかし -k オプションを使っても、カテゴリ一覧などはやはりネット上のファイルにリンクしている模様。まあ仕方ないだろう。コメントも feeds というフォルダに保存される。画像はどうなるのかよくわからない。 |
X server |
X サーバーにある自分のサイト https://ultrabem-hobby.com の場合、--no-check-certificate というオプションを追加する必要があった。html ファイル、php ファイル、画像ファイルともにちゃんとローカルに保存される。 |
Seesaa blog |
Seesaa blog の場合、html ファイルのダウンロードおよび相対リンクへの変換はちゃんとできるが、画像ファイルが保存されない。これは 2 つの問題があった。
|
Hatena blog |
広告
References
- Macでwgetコマンドを使えるようにするの書. Link
- MacOSXにwgetをインストール. Link.
- wgetの使い方. Link: Last access 2017/12/03.
- wgetコマンドで覚えておきたい使い方16個 (+1個). Link: Last access 2017/12/03.
- wgetでこういう時はこうする!! Link: Last access 2019/06/19.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。