Question

J'ai plusieurs pages Web sur plusieurs sites à reproduire en miroir. Cela signifie que j'aurai besoin d'images, de CSS, etc., et que les liens doivent être convertis. Cette fonctionnalité serait similaire à l’utilisation de Firefox pour " Enregistrer la page sous " et en sélectionnant "Page Web, compléter". J'aimerais nommer les fichiers et les répertoires correspondants comme quelque chose de sensé (par exemple, myfavpage1.html, myfavpage1.dir).

Je n'ai pas accès aux serveurs, et ce ne sont pas mes pages. Voici un exemple de lien: Cliquez sur moi!

Un peu plus de précision ... Je souhaite mettre en miroir environ 100 pages (dont beaucoup proviennent de serveurs lents), je vais créer le travail sous Solaris 10 et transférer les résultats toutes les heures sur un support samba pour personnes. regarder. Et, oui, j'ai évidemment essayé wget avec plusieurs drapeaux différents mais je n'ai pas obtenu les résultats pour lesquels je suis en train de chercher. Donc, pointer vers la page GNU wget n’est pas vraiment utile. Permettez-moi de commencer par un exemple simple là où je suis.

 wget --mirror -w 2 -p --html-extension --tries=3 -k -P stackperl.html "https://stackoverflow.com/tags/perl"

À partir de là, je devrais voir la page https://stackoverflow.com/tags/perl dans le fichier stackper.html. , si les drapeaux étaient corrects.

Était-ce utile?

La solution

Si vous souhaitez exécuter une commande et obtenir une copie d'un site Web, utilisez les outils suggérés par d'autres utilisateurs, tels que wget , curl , ou certains des outils de l'interface graphique. J'utilise mon propre outil personnel que j'appelle webreaper (ce n'est pas Windows < a href = "http://www.webreaper.net/" rel = "nofollow noreferrer"> WebReaper cependant. Il existe quelques programmes Perl que je connais, dont webmirror et quelques autres se trouvent sur CPAN .

Si vous envisagez de le faire dans un programme Perl que vous écrivez (puisque vous avez la balise "perl" dans votre réponse), il existe de nombreux outils dans CPAN pouvant vous aider à chaque étape:

Bonne chance, :)

Autres conseils

Pour une version HTML de vos sites, vous pouvez utiliser WinHTTrack - un programme gratuit et open source, sous licence GPL. Il va extraire les versions pré-rendues de vos pages, graphiques, documents, fichiers zip, films, etc. Bien sûr, puisqu'il s'agit d'une copie en miroir, tout code backend dynamique tel que les appels de base de données ne sera plus dynamique. / p>

http://www.httrack.com/

Personnellement, la dernière fois que j’ai eu l’impression de le faire, j’ai écrit un script python qui copiait le cache de mon navigateur, puis j’ai visité manuellement toutes les pages que je souhaitais mettre en miroir. Une solution très laide, mais qui présente l’avantage de ne rien déclencher, "ne grattez pas ma page". alarmes. Merci à la barre d’onglets des liens d’Opera , " manuellement " télécharger des dizaines de milliers de pages n'a pas été aussi difficile que vous ne le pensez.

Je ferai écho à la phrase "ce n'est pas clair" commentaire. S'agit-il des pages Web / sites que vous avez créés et que vous souhaitez déployer sur plusieurs serveurs? Si c'est le cas, utilisez des références relatives dans votre code HTML, et tout devrait bien se passer. Ou utilisez un dans votre et ajustez-le sur chaque site. Mais la relativité est vraiment la voie à suivre.

Ou dites-vous que vous souhaitez télécharger des sites Web (comme la page d'accueil Stack Overflow, perl.com, etc.) pour en avoir des copies locales sur votre ordinateur? Je suis d'accord avec Daniel - utilisez wget.

Jim

J'utilise WebReaper

Vous pouvez utiliser les outils wget gnu pour récupérer un site entier comme ceci:

wget -r -p -np -k URL

ou, si vous utilisez Perl, essayez ces modules:

  • LWP :: Simple

  • WWW :: Mechanize

Si wget est compliqué ou si vous n'avez pas de linuxbox, vous pouvez toujours utiliser WebZip

Il semble que vous souhaitiez la fonctionnalité de mise en cache fournie par un bon serveur proxy.

Peut-être examiner quelque chose comme SQUID? Je suis sûr qu'il peut le faire.

C’est plus une question de type administrateur système que de programmer.

Dans la plupart des sites Web modernes, le front-end ne raconte qu'une petite partie de l'histoire. Quels que soient les outils permettant de supprimer html, css et javascript, vous manquerez toujours de la fonctionnalité de base contenue sur le serveur.

Ou peut-être que vous vouliez dire autre chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top