Web上にフォルダビューのあるフォルダがあります( http://example.com/folder1/folder2/ )
/ folder2には、pdfファイルを含む複数のフォルダーがあります。 wgetを使用して、すべてのサブフォルダーとファイルを含む/ folder2のすべてのコンテンツをssh経由でサーバーにダウンロードしたいと思います。次のことを試しましたが、index.htmlファイルとrobots.txtファイルしか取得できません。
[root@myserver downloads]# wget -r --no-parent --reject "index.html*" http://www.example.com/folder1/folder2/
--2015-08-07 07:46:36-- http://www.example.com/folder1/folder2/
Resolving www.example.com... 192.168.1.1
Connecting to www.example.com|192.168.1.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `www.example.com/folder1/folder2/index.html'
[ <=> ] 4,874,325 138K/s in 37s
2015-08-07 07:47:42 (128 KB/s) - `www.example.com/folder1/folder2/index.html' saved [4874325]
Loading robots.txt; please ignore errors.
--2015-08-07 07:47:42-- http://www.example.com/robots.txt
Connecting to www.example.com|192.168.1.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26 [text/plain]
Saving to: `www.example.com/robots.txt'
100%[======================================>] 26 --.-K/s in 0s
2015-08-07 07:47:42 (1.42 MB/s) - `www.example.com/robots.txt' saved [26/26]
Removing www.example.com/folder1/folder2/index.html since it should be rejected.
FINISHED --2015-08-07 07:47:42--
Downloaded: 2 files, 4.6M in 37s (128 KB/s)
[root@myserver downloads]#
同様のFAILED結果で試した他のコマンド:
wget -m -p -E -k -K -np http://example.com/folder1/folder2/
wget -r http://example.com/folder1/folder2/ -nd -P /downloads -A PDF
Wgetを使用して、すべてのサブフォルダーとファイルを含む/ folder2のすべてのコンテンツをssh経由でサーバーにダウンロードしたいと思います。
wget
経由でダウンロードしたいと思いますが、ここではSSHは問題ではありません。
wget --mirror --page-requisites --adjust-extension --no-parent --convert-links \
--directory-prefix=folder2 http://example.com/folder1/folder2/
上記のソリューションは、Webサイトのミラーリングに適しています。申し訳ありませんが、答えるのが少し速すぎて、PDFのミラーリングには最適ではありません。
wget -m -nH --cut-dirs=1 -np -R 'index.*' http://example.com/folder1/folder2/
-m
、--mirror
:すべてを再帰的にダウンロードする-nH
、--no-Host-directories
:ホスト名で指定されたディレクトリ内にデータを配置しないでください--cut-dirs=1
:ローカル階層を作成するときに最初のディレクトリをスキップします-np
、--no-parent
:親をフェッチしないでください!-R
、--reject 'index.*'
:「index。*」のような名前のファイルは保存しないでください役に立つかもしれません:-e robots=off
は、wgetにrobots.txt
を無視するように指示します。
$ wget -m -nH --cut-dirs=4 -np --reject 'index.*' \
http://ftp.lip6.fr/pub/linux/distributions/slackware/slackware64-current/source/a/bin/
$ tree
.
└── slackware64-current/
└── source/
└── a/
└── bin/
├── banners.tar.gz
├── bin.SlackBuild
├── debianutils_2.7.dsc
├── debianutils_2.7.tar.gz
├── fbset-2.1.tar.gz
├── scripts/
│ ├── diskcopy.gz
│ └── xx.gz
├── slack-desc
└── todos.tar.gz
これはあなたが尋ねたものではありませんが、私は個人的に lftp
を使用するのが好きです:
lftp -c "open http://example.com/folder1/; mirror folder2"