$ wget -r -np -nH --cut-dirs=2 -p -k "http://www.example.com/1" -O test.html Cannot specify both -k and -O if multiple URLs are given, or in combination with -p or -r. See the manual for details. Usage: wget [OPTION]... [URL]...
Je me request comment résoudre le problème?
Dans mon problème actuel, j'ai stocké une list d'URL dans un file text, comme
http://www.example.com/1 http://www.example.com/2 http://www.example.com/3
Je veux download chaque page Web avec les files affiliés nécessaires pour déplacer la page Web.
Par défaut, chaque file téléchargé est nommé index.html
, écrasant ainsi la page Web précédemment téléchargée. J'essaie donc de renommer les files téléchargés en nombre représentant leur ordre de téléchargement:
i=0 for url in $(cat ../htmls); do wget -r -np -nH --cut-dirs=1 -p -k "$url" -O $(printf %04d $i).html; i=$((i+1)) done
C'est quand l'erreur au début apparaît.
Vous aurez besoin des files index.html
puisque les différents liens dans les pages Web countront sur eux. Je voudrais simplement save chaque page Web dans son propre directory:
while read url; do mkdir "$url"; cd "$url" wget -r -np -nH --cut-dirs=1 -p -k "$url" cd ../ done
Comme il s'avère, wget
déjà par défaut, donc utilisez plutôt l' approche de Stephen .
Le comportement par défaut de wget
avec -r
est de stocker les files téléchargés dans les directorys correspondant à l'URL, afin que vous puissiez le faire:
wget -r -np -p -i myurls
(où myurls
est votre file contenant les URL à download).
La masse de directorys qui en résulte peut ne pas être très agréable pour vous, mais cela vous permettra d'avoir tout ce dont vous avez besoin pour afficher les files téléchargés et que rien ne sera écrasé …