ウェブサイトから特定のページをダウンロードしようとしました。ウェブサイトは以下のようにユニバーサルURLを使用して次のページに移動します。
https://example.com/pages/?p=1
https://example.com/pages/?p=2
https://example.com/pages/?p=3最大450。
ページ内にリンクされたハイパーリンクではなく、ページのみをダウンロードしたいと思います。つまり、子ページではなく、?p1や?p2などの親ファイルだけをダウンロードしたいのです。
以下のコマンドを試しましたが、うまくいきません。
wget --load-cookies=cookies.txt https://example.com/pages/\?p\=\{1..450\}
これは{..}がwgetで動作しないという意味ですか?それ以外の場合、目標を達成するために使用できるwgetオプションはありますか?
ベストアンサー1
中かっこの拡張 ( bash
andksh93
やzsh
) の算術範囲を理解するシェルを使用します。
wget --load-cookies=cookies.txt "https://example.com/pages/?p="{1..450}
wget
これは(呼び出す前に)次に拡張されます。
wget --load-cookies=cookies.txt "https://example.com/pages/?p="1 "https://example.com/pages/?p="2 "https://example.com/pages/?p="3 ... "https://example.com/pages/?p="450
そしてcurl
:
curl --cookie-jar cookies.txt "https://example.com/pages/?p="{1..450}
次のコマンドを使用して、出力を別々のファイルに保存しますcurl
。
curl --cookie-jar cookies.txt -Ooutfile{1..450}.html "https://example.com/pages/?p="{1..450}