0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LinuxコマンドでWeb上のファイルを取得する

Last updated at Posted at 2025-06-04

自分用まとめ

目次

curlとwgetの主な共通点

Webサーバーからコンテンツをダウンロードできるコマンドラインツール

curlとwgetの主な違い

  • curl:対応プロトコルの種類が多い(wgetはHTTP、HTTPS、FTPの3種類だけ)1、複雑なデータ転送やAPIとの連携に適する2
  • wget:再帰的なダウンロード(ディレクトリ全体を探索して中のファイルを全て取得する)ができる134、バッチ処理による複数のファイルのダウンロードに適する2

curlコマンドの使い方

基本5

curl -OL [file_url]

よく使うオプション6

-o 取得したデータを指定したファイル名で出力する
-O URLのファイル名でダウンロード
-L リダイレクトがあったらリダイレクト先の情報を取る
-u 認証に用いるユーザー名およびパスワードを指定する
-v 処理状況の更なる詳細や説明を出力させる
-# プログレスバーを簡易表示させる

サーバー認証つきのURLにログインしてファイルダウンロード4

curl -O -u [username]:[password] [file_url]

エラーが発生したときや、curlがどのようなことを行っているのか理解したいとき4

curl -O -v [file_url]

進捗をより簡易的に見たい(ダウンロードの進行の%表示だけでいい)とき4

curl -O -# [file_url]

同じリモートURLを持つ複数のファイル(e.g. 1.jpg、2.jpg、3.jpg)をダウンロード4

curl -O "https://example.com/images/{1.jpg,2.jpg,3.jpg}"

ver.2 同じリモートURLを持つ複数のファイル(e.g. 1.jpg、2.jpg、3.jpg)をダウンロード4

curl -O "https://example.com/files/file[1-3].jpg"

異なるURLから複数のファイルをダウンロード4

curl -O [file_url_1] -O [file_url_2]

保存先(ファイルパス、ファイル名)を指定してダウンロード4

curl [file_url] > [~/file_path/file_name]

wgetコマンドの使い方

基本:

wget [file_url]

よく使うオプション7

-r 再帰ダウンロード(すべてのファイルをダウンロード)
-P 取得したデータの保存先を指定する
-O 取得したデータを指定したファイル名で出力する
-c 中断されたダウンロードを続行する

ファイルの保存先とファイル名を指定してダウンロード18

wget [file_url] -O [~/file_url/file_name]

ファイルの保存先を指定してダウンロード:

wget -P [file_path] [file_url]

複数のファイルをダウンロード3

複数のファイルのURLを改行して列記したファイルを作成し、保存して閉じる:
vi [url_file.txt]
作成したファイル名を指定してwgetを実行:
wget -i [url_file.txt]

同じリモートURLを持つ複数のファイル(e.g. H1001.jpg、H1002.jpg、H1003.jpg)をダウンロード7

wget http://example.com/H100{1..3}.jpg

中断されたダウンロードを続行3*:

wget -c [file_url]

*ダウンロードが中断された場合は、ファイル全体をダウンロードし直すのではなく、以下のように、-cオプションを指定してコマンドを実行するだけでいい3

中断された複数のファイルのダウンロードを続行3

wget -c -i [url_file.txt]

再帰ダウンロード(すべてのファイルをダウンロード)1

wget -r [file_url]

取得する階層のレベルを指定して再帰ダウンロード1

wget -r -l 1 [file_url]

下位ディレクトリのすべてのファイルをダウンロード8*:

wget -r -np [file_url]

*-npで上位ディレクトリへは遡らなくなる。

リンクのある外部サイトまで含めてすべてのファイルをダウンロード8*:

wget -r -H [file_url]

*-Hでリンクのある外部サイトまで取得する。

サーバー認証つきのURLにログインしてファイルダウンロード7

wget --http-user=[username] --http-passwd=[password] [file_url]

OAuth認証のかかったサーバはcookiesで対応する7

wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' http://server.com/auth.php
wget --load-cookies cookies.txt -p http://server.com/interesting/article.php

PDBファイルをダウンロード

PDBファイル(PDBID:XXXX)をcurlコマンドでダウンロード:

curl -O https://files.rcsb.org/download/XXXX.pdb

PDBファイル(PDBID:XXXX)をwgetコマンドでダウンロード:

wget https://files.rcsb.org/download/XXXX.pdb
  1. curl, wget そしてInvoke-WebRequestの違い 2 3 4 5

  2. 🔨curlとwgetの違いはライブラリの有無とか対応プロトコルの豊富さとかいろいろ 2

  3. 「Linux」でブラウザーを使わずにファイルをダウンロードするには 2 3 4 5

  4. cURLでファイルをダウンロードする方法 2 3 4 5 6 7 8

  5. LinuxコマンドでWEBからファイルをダウンロードする方法 (wget, curl)

  6. よく使うcurlコマンドのオプション

  7. wgetでこういう時はこうする!! 2 3 4

  8. wgetとcurlの使い分けについて 2 3

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?