Comment enregistrer toutes les pages Web liées à partir d'une seule

15

Je souhaite enregistrer cette page Web et toutes les pages auxquelles elle renvoie. et espérons avoir le même lien entre les pages Web enregistrées.

Existe-t-il des moyens au lieu d'ouvrir et d'enregistrer chaque page liée?

Tim
la source

Réponses:

12

Vous pouvez faire ce que vous voulez avec l' utilitaire de ligne de commande wget . Si vous lui fournissez cette -roption, il télécharge récursivement des pages Web. Par exemple:

wget -r http://mat.gsia.cmu.edu/orclass/integer/integer.html

Cela téléchargera cette page Web et tout ce à quoi elle renvoie. Vous pouvez également faire en sorte qu'il ne récapitule qu'un certain nombre de niveaux, pour ce faire, vous fournissez simplement -run numéro. Comme tel:

wget -r 5 http://mat.gsia.cmu.edu/orclass/integer/integer.html
Wuffers
la source
@Mark: Merci! J'essaie maintenant de télécharger mat.gsia.cmu.edu/orclass et les pages qu'il relie en utilisant la commande wget -r mat.gsia.cmu.edu/orclass . wget créera un répertoire mat.gsia.cmu.edu sous celui que j'ai spécifié et téléchargera les pages en dessous. Mais les liens entre les pages téléchargées n'ont pas mat.gsia.cmu.edu sur leurs chemins, donc cela devient un problème et je ne peux pas passer d'une page à l'autre en cliquant sur les liens. Je me demandais pourquoi et comment résoudre le problème? Merci!
Tim
Je ne pense pas que vous puissiez récursivement télécharger des liens externes, @Tim.
Wuffers
Est-ce que les «liens externes» signifient ceux qui ne sont pas sur le chemin actuel?
Tim
@Tim: Par liens externes, j'entends des liens qui se réfèrent à l'extérieur de mat.gsi.cmu.edu
Wuffers
1
@Tim: Oh, d'accord. Désolé pour le malentendu. Je pense que vous pouvez essayer de modifier les fichiers HTML vous-même pour vérifier et essayer de les faire fonctionner.
Wuffers
10

Ce fil est vieux maintenant, mais d'autres pourraient le regarder. Merci, Wuffers, de m'avoir pointé dans la bonne direction mais, pour développer la réponse de Wuffers: une version moderne de wget a un certain nombre d'options utiles pour récurser les liens et les corriger pour être des liens relatifs locaux afin que vous puissiez naviguer dans une copie locale d'un site Web. Utilisez l'option -r pour recurse, l'option -k pour patcher les liens locaux, l'option -H pour traverser dans des domaines autres que celui d'origine, l'option -D pour limiter les domaines dans lesquels vous traversez, l'option -l pour limiter la profondeur de récursivité et l'option -p pour vous assurer que les feuilles de votre traversée ont tout ce dont elles ont besoin pour s'afficher correctement. Par exemple, ce qui suit télécharge une page et tout ce à quoi elle renvoie immédiatement, la rendant consultable localement,

wget -r -l 1 -p -k -H -D domain.com,relateddomain.com http://domain.com/page/in/domain

En utilisant une commande similaire à celle ci-dessus, j'ai pu télécharger un morceau d'une page wiki, avec des liens externes, sur mon disque local sans télécharger des mégaoctets de données superflues. Maintenant, lorsque j'ouvre la page racine dans mon navigateur, je peux naviguer dans l'arborescence sans connexion Internet. Le seul irritant était que la page racine était enterrée dans des sous-répertoires et j'ai dû créer une page de redirection de niveau supérieur afin de la rendre pratique à afficher. Cela peut prendre quelques essais et erreurs pour bien faire les choses. Lisez la page de manuel wget et testez.

Pablo Halpern
la source
4

Vous pouvez utiliser un robot d'exploration de site Web comme httrack , qui est gratuit.

Depuis le site Web;

[httrack] vous permet de télécharger un site Web sur Internet dans un répertoire local, de créer de manière récursive tous les répertoires, d’obtenir du HTML, des images et d’autres fichiers du serveur vers votre ordinateur. HTTrack organise la structure de liens relative du site d'origine. Ouvrez simplement une page du site Web "en miroir" dans votre navigateur et vous pouvez parcourir le site de lien en lien, comme si vous le consultiez en ligne.

RJFalconer
la source
1
+1 Excellente application! Mais il saisit également tous les fichiers zip liés, ce que je ne voulais pas. Mais alors j'aurais probablement dû lire les instructions en premier!
finlaybob
Oui, il peut / suivra tous les liens et téléchargera donc les fichiers. (@Finlaybob êtes-vous au courant que la page d'accueil répertoriée sur votre profil a été piratée?)
RJFalconer
Je n'étais pas! Je vais y jeter un œil - merci de me l'avoir fait savoir!
finlaybob