170 votes

Comment télécharger tous les fichiers (mais pas le HTML) d'un site web en utilisant wget ?

Mode d'emploi wget et récupérer tous les fichiers du site web ?

J'ai besoin de tous les fichiers sauf les fichiers de la page web comme HTML, PHP, ASP etc.

0 votes

Même si vous voulez télécharger php, ce n'est pas possible en utilisant wget. Nous ne pouvons obtenir que du HTML brut en utilisant wget. Je suppose que vous connaissez la raison

1 votes

NB : Vérifiez toujours avec wget --spider d'abord, et toujours ajouter -w 1 (ou plus -w 5 ) afin de ne pas inonder le serveur de l'autre personne.

1 votes

Comment puis-je télécharger tous les fichiers pdf de cette page ? pualib.com/collection/pua-titres-a.html

280voto

Zsolt Botykai Points 20615

Pour filtrer des extensions de fichiers spécifiques :

wget -A pdf,jpg -m -p -E -k -K -np http://site/path/

Ou, si vous préférez les noms d'options longues :

wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/

Cela fera un miroir du site, mais les fichiers sans jpg ou pdf sera automatiquement supprimée.

19 votes

Si vous voulez simplement télécharger des fichiers sans architecture de répertoires entiers, vous pouvez utiliser -et option.

4 votes

Que signifie chacun des drapeaux ?

0 votes

Je pense --accept est sensible à la casse, donc vous devriez faire --accept pdf,jpg,PDF,JPG

86voto

izilotti Points 1339

Ceci a téléchargé le tout le site site web pour moi :

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/

20 votes

+1 pour -e robots=off ! Cela a finalement résolu mon problème :) Merci

12 votes

Le site --random-wait l'option est géniale ;)

2 votes

@izilotti Est-ce que le propriétaire du site peut savoir si vous avez téléchargé les fichiers de son site avec cette méthode ?

64voto

Jesse Points 2103
wget -m -p -E -k -K -np http://site/path/

page de manuel vous dira ce que font ces options.

wget ne suivra que les liens, s'il n'y a pas de lien vers un fichier depuis la page d'index, alors wget ne connaîtront pas son existence et ne le téléchargeront donc pas. Par exemple, il est utile que tous les fichiers soient liés à des pages web ou à des index de répertoires.

0 votes

Merci pour la réponse :) Il copie tout le site et je n'ai besoin que des fichiers (txt, pdf, image, etc.) du site.

26voto

Steve Bennett Points 4273

J'essayais de télécharger des fichiers zip liés à La page des thèmes d'Omeka - tâche assez similaire. Cela a fonctionné pour moi :

wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
  • -A : n'accepte que les fichiers zip
  • -r : recurse
  • -l 1 : un niveau de profondeur (c'est-à-dire, seulement les fichiers directement liés à cette page)
  • -nd : ne créez pas de structure de répertoire, téléchargez simplement tous les fichiers dans ce répertoire.

Toutes les réponses avec -k , -K , -E etc n'ont probablement pas vraiment compris la question, car celles concernant la réécriture des pages HTML pour en faire une structure locale, le renommage de .php et ainsi de suite. Non pertinent.

Pour obtenir littéralement tous les fichiers sauf .html etc :

wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com

3 votes

-A est sensible à la casse, je pense, donc vous devriez faire -A zip,ZIP

0 votes

Pouvez-vous jeter un coup d'œil ici ? stackoverflow.com/questions/68287730/ @Flimm

7voto

kenorb Points 2464

Vous pouvez essayer :

wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/

Vous pouvez également ajouter :

-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar

pour accepter les extensions spécifiques, ou pour rejeter uniquement les extensions spécifiques :

-R html,htm,asp,php

ou pour exclure les zones spécifiques :

-X "search*,forum*"

Si les fichiers sont ignorés par les robots (par exemple, les moteurs de recherche), vous devez également ajouter : -e robots=off

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X