Comment puis-je télécharger un site web entier?


350

Comment puis-je télécharger toutes les pages d'un site Web?

Toute plate-forme va bien.



@tnorthcutt, je suis surpris aussi. Si je ne me rappelle pas très mal, ma réponse Wget était celle qui était acceptée, et cela ressemblait à une chose réglée. Je ne me plains pas cependant - tout à coup l'attention renouvelée m'a donné plus que la valeur de la prime. : P
Jonik

Avez-vous essayé IDM? superuser.com/questions/14403/… mon post est enterré. Qu'avez-vous trouvé manquant dans IDM?
Lazer

5
@joe: Cela pourrait aider si vous donniez des détails sur les caractéristiques manquantes ...
Ilari Kajaste

browse-offline.com peut télécharger l'arbre complet du site web pour que vous puissiez ... le parcourir en mode hors connexion
Menelaos Vergis

Réponses:


334

HTTRACK fonctionne comme un champion pour copier le contenu d'un site entier. Cet outil peut même récupérer les éléments nécessaires pour créer un site Web avec un contenu de code actif hors ligne. Je suis émerveillé par les choses qu'il peut reproduire hors ligne.

Ce programme fera tout ce dont vous avez besoin.

Bonne chasse!


7
Utilisé depuis des années - hautement recommandé.
Umber Ferrule

4
Est-ce que cela copierait le code ASP réel qui s'exécute sur le serveur?
Taptronic

8
@Optimal Solutions: Non, ce n'est pas possible. Vous aurez besoin d'un accès aux serveurs ou au code source pour cela.
Sasha Chedygov

2
Après avoir essayé à la fois httrack et wget pour les sites avec autorisation, je dois me pencher en faveur de wget. Impossible de faire fonctionner httrack dans ces cas.
Leo

1
Quelle est l'option pour l'authentification?
vincent mathew

272

Wget est un outil classique en ligne de commande pour ce type de tâche. Il est fourni avec la plupart des systèmes Unix / Linux, et vous pouvez également l’obtenir pour Windows . Sur un Mac, Homebrew est le moyen le plus simple de l’installer ( brew install wget).

Vous feriez quelque chose comme:

wget -r --no-parent http://site.com/songs/

Pour plus de détails, voir Wget Manual et ses exemples , ou par exemple ceux-ci:


12
Il n'y a pas de meilleure réponse que celle-ci - wget peut tout faire: 3
Phoshi

6
+1 pour inclure le --no-parent. utilisez certainement --mirror au lieu de -r. et vous voudrez peut-être inclure -L / - relatif pour ne pas suivre les liens vers d’autres serveurs.
Quack Quichotte

2
Comme j'ai également demandé à httrack.com, cet outil de ligne de commande obtiendrait-il le code ASP ou obtiendrait-il simplement le rendu du code HTML? Je dois essayer ça. Cela pourrait être un peu inquiétant pour les développeurs s'il le fait ...
Taptronic

6
@optimal, la sortie HTML bien sûr - il obtiendrait le code uniquement si le serveur était mal configuré
Jonik

2
malheureusement, cela ne fonctionne pas pour moi - il y a un problème avec les liens vers les fichiers CSS, ils ne sont pas modifiés en relatifs, c’est-à-dire que vous pouvez voir quelque chose comme ceci dans les fichiers: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" /> qui ne fonctionne pas bien localement, sauf s’il est possible de tromper firefox en pensant que certains répertoires sont une racine.
Gorn

147

Utilisez wget:

wget -m -p -E -k www.example.com

Les options expliquées:

-m, --mirror            Turns on recursion and time-stamping, sets infinite 
                          recursion depth, and keeps FTP directory listings.
-p, --page-requisites   Get all images, etc. needed to display HTML page.
-E, --adjust-extension  Save HTML/CSS files with .html/.css extensions.
-k, --convert-links     Make links in downloaded HTML point to local files.

8
+1 pour fournir des explications sur les options suggérées. (Bien que je ne pense pas que ce --mirrorsoit très explicite. Voici à partir de la page de manuel: " Cette option active la récursivité et l’horodatage, définit la profondeur de la récursion à l'infini et conserve les listes de répertoires FTP. Elle est actuellement équivalente à -r -N - l inf --no-remove-listing ")
Ilari Kajaste Le

2
Si vous ne souhaitez pas tout télécharger dans un dossier portant le nom du domaine que vous souhaitez mettre en miroir, créez votre propre dossier et utilisez l'option -nH (qui ignore la partie hôte).
Rafael Bugajewski le

2
Qu'en est-il si l'autorisation est requise?
Val

4
J'ai essayé d'utiliser votre wget --mirror -p --html-extension --convert-links www.example.comet il vient de télécharger l'index. Je pense que vous avez besoin -rde télécharger tout le site.
Eric Brotto

4
pour ceux qui craignent de tuer un site à cause du trafic / de trop nombreuses requêtes, utilisez l' -w secondsoption (pour attendre plusieurs secondes entre les requêtes, ou la --limit-rate=amount, pour spécifier la bande passante maximale à utiliser lors du téléchargement
vlad-ardelean


8

Internet Download Manager dispose d'un utilitaire Site Grabber avec de nombreuses options, qui vous permet de télécharger complètement le site Web de votre choix, comme vous le souhaitez.

  1. Vous pouvez définir la limite de taille des pages / fichiers à télécharger

  2. Vous pouvez définir le nombre de sites de succursales à visiter.

  3. Vous pouvez changer le comportement des scripts / popups / doublons

  4. Vous pouvez spécifier un domaine. Sous ce domaine, toutes les pages / tous les fichiers répondant aux paramètres requis seront téléchargés.

  5. Les liens peuvent être convertis en liens hors connexion pour la navigation

  6. Vous avez des modèles qui vous permettent de choisir les paramètres ci-dessus pour vous

entrez la description de l'image ici

Le logiciel n’est cependant pas gratuit - voyez si cela répond à vos besoins, utilisez la version d’évaluation.



5

Je vais aborder la mise en mémoire tampon en ligne que les navigateurs utilisent ...

Généralement, la plupart des navigateurs utilisent un cache de navigation pour conserver les fichiers téléchargés depuis un site Web pendant un moment, de sorte que vous n'ayez pas à télécharger des images statiques et du contenu encore et encore. Cela peut accélérer les choses un peu dans certaines circonstances. De manière générale, la plupart des caches de navigateur sont limités à une taille fixe. Lorsque cette limite est atteinte, les fichiers les plus anciens sont supprimés.

Les FAI ont généralement des serveurs de mise en cache qui conservent des copies des sites Web les plus consultés, tels que ESPN et CNN. Cela leur évite d'avoir à visionner ces sites chaque fois que quelqu'un sur leur réseau y va. Cela peut représenter une économie importante sur le nombre de demandes dupliquées adressées à des sites externes au fournisseur de services Internet.




4

Je ne l'ai pas fait depuis de nombreuses années, mais il existe encore quelques services publics. Vous voudrez peut-être essayer Web Snake . Je crois que je l'ai utilisé il y a des années. Je me suis tout de suite rappelé le nom quand j'ai lu votre question.

Je suis d'accord avec Stecy. S'il vous plaît ne pas marteler leur site. Très mauvais.


3

Essayez le navigateur BackStreet .

C'est un navigateur hors ligne puissant et gratuit. Programme de téléchargement et de visualisation de sites Web haute vitesse multithreading. En effectuant plusieurs requêtes de serveur simultanément, BackStreet Browser peut télécharger rapidement un site Web entier ou une partie d’un site, y compris HTML, des graphiques, des applets Java, des fichiers audio et d’autres fichiers définissables par l’utilisateur, et enregistre tous les fichiers de votre disque dur, dans leur format natif. ou en tant que fichier ZIP compressé et voir hors connexion.

entrez la description de l'image ici


3

Teleport Pro est une autre solution gratuite qui permet de copier tous les fichiers de votre cible (également une version payante qui vous permettra d’extraire plus de pages de contenu).


3

DownThemAll est un module complémentaire de Firefox qui téléchargera tout le contenu (fichiers audio ou vidéo, par exemple) d'une page Web donnée en un seul clic. Cela ne télécharge pas l’ensemble du site, mais c’est peut-être ce que recherchait la question.


Il est seulement capable de télécharger des liens (HTML) et des médias (images).
Ain

3

Pour Linux et OS X: j'ai écrit un site de saisie pour archiver des sites Web entiers dans des fichiers WARC . Ces fichiers WARC peuvent être parcourus ou extraits. grab-site vous permet de contrôler les URL à ignorer à l'aide d'expressions régulières. Vous pouvez les modifier lorsque l'analyse est en cours d'exécution. Il contient également un ensemble complet de valeurs par défaut pour ignorer les URL indésirables.

Il existe un tableau de bord Web pour surveiller les analyses, ainsi que des options supplémentaires pour ignorer le contenu vidéo ou les réponses dépassant une certaine taille.



0

Le vénérable FreeDownloadManager.org possède également cette fonctionnalité.

Free Download Manager est disponible sous deux formes: Site Explorer et Site Spider :

Site Explorer
Site Explorer vous permet d'afficher la structure des dossiers d'un site Web et de télécharger facilement les fichiers ou les dossiers nécessaires.
HTML Spider
Vous pouvez télécharger des pages Web entières ou même des sites Web entiers avec HTML Spider. L'outil peut être ajusté pour télécharger des fichiers avec des extensions spécifiées uniquement.

Je trouve que Site Explorer est utile pour voir quels dossiers inclure / exclure avant de tenter de télécharger tout le site - en particulier lorsqu'un forum entier se cache dans le site que vous ne souhaitez pas télécharger, par exemple.



-3

Firefox peut le faire en mode natif (au moins 42 FF). Il suffit d'utiliser "Enregistrer la page"

entrez la description de l'image ici


6
Faux! La question demande comment enregistrer un site Web entier. Firefox ne peut pas faire ça.

2
Votre méthode ne fonctionne que s'il s'agit d'un site d'une page, mais si le site compte 699 pages? Ce serait très fatiguant ...
Quidam

-4

Je crois que Google Chrome peut le faire sur les ordinateurs de bureau, il suffit d’aller dans le menu du navigateur et de cliquer sur enregistrer la page Web.

Notez également que des services tels que pocket peuvent ne pas réellement enregistrer le site Web et sont donc susceptibles de générer des liens.

Enfin, notez que la copie du contenu d'un site Web peut enfreindre le droit d'auteur, le cas échéant.


3
Une web la page dans votre navigateur est juste l' un des nombreux d'un web site de .
Arjan

@Arjan Je suppose que cela rend mon option très laborieuse. Je pense qu'il est plus courant que les gens souhaitent simplement enregistrer une page. Cette réponse est peut-être meilleure pour les personnes qui viennent ici pour cela.
jiggunjer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.