Je souhaite utiliser Wget pour enregistrer des pages Web uniques (pas de manière récursive, ni des sites entiers) à des fins de référence. Tout comme la "page Web complète" de Firefox.
Mon premier problème est le suivant: je ne parviens pas à faire enregistrer par Wget les images d’arrière-plan spécifiées dans le CSS. Même si cela sauvegardait les fichiers d’image d’arrière-plan, je ne pense pas que --convert-links convertirait les URL d’image d’arrière-plan du fichier CSS pour qu'elles pointent vers les images d’arrière-plan enregistrées localement. Firefox a le même problème.
Mon deuxième problème est le suivant: s'il y a des images sur la page que je veux enregistrer qui sont hébergées sur un autre serveur (comme des annonces), celles-ci ne seront pas incluses. --span-hosts ne semble pas résoudre ce problème avec la ligne ci-dessous.
J'utilise:
wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://domain.tld/webpage.html
Réponses:
De la page de manuel Wget :
Également au cas où
robots.txt
vous refuseriez d'ajouter-e robots=off
la source
wget --adjust-extension --span-hosts --convert-links --backup-converted --page-requisites [url]
wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows
[URL]La
wget
commande offre l'option--mirror
qui fait la même chose que:Vous pouvez également
-x
créer une hiérarchie de répertoires complète pour le site, y compris le nom d'hôte.Vous n’auriez peut-être pas trouvé cela si vous n’utilisez pas la dernière version de
wget
.la source
Il semble que
wget
Firefox n’analyse pas les CSS pour inclure ces fichiers dans le téléchargement. Vous pouvez contourner ces limitations en utilisant ce que vous pouvez, et en scriptant l'extraction de lien à partir de tout code CSS ou Javascript dans les fichiers téléchargés pour générer une liste des fichiers que vous avez manqués. Ensuite, une deuxième exécution dewget
cette liste de liens pourrait récupérer ce qui a été manqué (utilisez l'-i
indicateur pour spécifier une URL de liste de fichiers).Si vous aimez Perl, il existe un module CSS :: Parser sur CPAN qui peut vous permettre d'extraire facilement des liens de cette façon.
Notez que
wget
seuls certains balises html (href
/src
) et css uris (url()
) sont analysés pour déterminer les conditions de page à obtenir. Vous pouvez essayer d’utiliser des addons Firefox comme DOM Inspector ou Firebug pour déterminer si les images tierces que vous n’obtenez pas sont ajoutées via Javascript. Dans l’affirmative, vous devrez recourir à un script ou au plug-in Firefox pour les obtenir. aussi.la source
J'ai réalisé Webtography dans un but similaire: https://webjay.github.io/webtography/
Il utilise Wget et pousse le site dans un référentiel de votre compte GitHub.
J'utilise ces arguments:
https://github.com/webjay/webtography/blob/master/lib/wget.js#L15-L26
la source