Comment archiver des sites Web sur des systèmes de type Unix?

Est inclus par défaut sur de nombreux systèmes de type Unix
Wget est un programme qui peut télécharger du contenu depuis Internet et est inclus par défaut sur de nombreux systèmes de type Unix.

La pourriture des liens (le phénomène où les anciens sites Web et pages disparaissent, rendant les liens inutiles) est un énorme problème sur Internet. Pour les lecteurs, il est décevant que les anciens sites Web n'existent plus. Pour les écrivains dont les écrits sur le Web contiennent de nombreux hyperliens, il y a le problème de ne pas pouvoir vérifier les informations lorsque les liens meurent. Quelle que soit la motivation, il est important de pouvoir archiver des informations sur internet.

Pas

  1. 1
    Comprenez vos motivations pour l'archivage du site. Il est important de savoir ce que vous essayez de faire en archivant le site.
    • Il y a plusieurs raisons pour lesquelles on peut vouloir archiver un site Web, et celles-ci influencent votre stratégie:
      • Vous pouvez simplement vouloir qu'une archive du site existe, sans nécessairement vous soucier de qui la maintient. Si tel est le cas, reportez-vous à l'étape «Vérifier s'il existe des archives récentes du site Web».
      • Vous voudrez peut-être conserver une copie personnelle (c'est-à-dire avoir l'archive localement). Cela peut être le cas si vous ne pouvez pas faire confiance aux autres pour conserver les archives en ligne (par exemple, si le contenu du site est protégé par le droit d'auteur ou illégal, il peut être sujet à des retraits, auquel cas il est plus sûr d'avoir des copies locales).
      • Vous voudrez peut-être seulement l'instantané du site à un certain moment. Cela peut être le cas si vous écrivez quelque chose et souhaitez que vos citations soient durables; vous pouvez simplement prendre un instantané du site au moment où vous l'avez utilisé comme ressource.
      • Vous voudrez peut-être faire continuellement des instantanés du site. Cela peut être le cas si vous avez une obsession inconvenante pour le contenu du site ou ses propriétaires.
      • Vous pouvez ne vouloir que certaines parties du site (par exemple, les pages que vous citez).
    • Notez que les points ci-dessus ne s'excluent pas mutuellement (bien que certains soient contradictoires, comme vouloir des parties d'un site par rapport à l'ensemble du site); en d'autres termes, vous voudrez peut-être que quelqu'un ait une archive, que vous-même conservez une archive et que des instantanés continus soient faits, le tout en même temps.
  2. 2
    Pensez à contacter les propriétaires du site pour obtenir des dépotoirs. Il est possible que les propriétaires du site obligent en vous donnant par exemple leurs sauvegardes du site. Cependant, gardez également à l'esprit que cela leur rendra transparente vos intentions, de sorte qu'ils peuvent réagir de manière défavorable (par exemple en protégeant par mot de passe des parties du site).
  3. 3
    Vérifiez s'il existe des archives récentes du site Web. Il est important de se rappeler qu'effectuer un travail n'a pas de valeur intrinsèque; le croire reviendrait à commettre le biais du make-work. L'archivage de sites Web volumineux peut souvent prendre beaucoup de temps et d'efforts. Si quelqu'un d'autre a déjà fait le gros du travail pour vous, alors il n'est pas nécessaire de se sentir obligé de répéter la tâche une fois de plus.
    • Si quelqu'un d'autre a fait une sauvegarde récente du site, alors vous pourriez avoir terminé (si vous vouliez juste que quelqu'un d'autre en ait une copie) ou presque terminé (si vous vouliez juste un instantané local; votre tâche se réduit à celle de la mise en miroir leur sauvegarde, ce qui est probablement beaucoup plus facile que la tâche d'origine).
    • Il y a plusieurs endroits qu'il faut vérifier avant de procéder avec sa propre solution d'archivage (qui est présentée dans le reste des étapes):
    Leur wiki contient des informations sur une variété de sites Web
    Leur wiki contient des informations sur une variété de sites Web et sur les progrès réalisés pour les archiver.
  4. 4
    Vérifiez s'il existe des outils spécialisés pour télécharger le site. Il existe parfois des outils spéciaux pour télécharger un contenu particulier. Par exemple, si vous souhaitez télécharger de nombreuses vidéos YouTube, il existe un outil appelé youtube-dl. De nombreux sites disposent également d'une API (interface de programmation d'applications) qui vous permet d'accéder facilement par programmation au contenu. C'est le cas par exemple de reddit, qui est une API bien documentée (mais notez également qu'il existe déjà une archive assez complète de reddit, qui a elle-même été créée à l'aide de l'API de reddit).
  5. 5
    Déterminez si le site a une limite au nombre de demandes que vous pouvez faire dans un certain laps de temps. Si personne d'autre n'a récemment archivé le site et s'il n'y a pas d'outils spécialisés pour archiver le site, alors vous êtes seul. Il est recommandé de déterminer si le site que vous ciblez a des règles spéciales sur la quantité ou la rapidité avec laquelle vous pouvez télécharger du contenu. De nombreux sites ont des règles clairement définies, qui sont fréquemment répertoriées dans leurs conditions d'utilisation/d'utilisation. Même si vous ne vous souciez pas personnellement de savoir si le site veut limiter votre accès, il est toujours bon de garder à l'esprit, car ils peuvent avoir mis en place une interdiction automatique d'IP (et d'autres mesures) pour empêcher les gens de surcharger leurs serveurs " leur contenu.
    • Consultez l'étape «Utiliser plusieurs ordinateurs ou adresses IP pour accélérer l'archivage» pour savoir comment contourner cette limite.
  6. 6
    Essayez d'exécuter une commande wget sur le site. Wget est un programme qui peut télécharger du contenu depuis Internet et est inclus par défaut sur de nombreux systèmes de type Unix. Parfois, une seule commande wget peut télécharger tout ou la plupart du site. Si tel est le cas, la tâche devient triviale. Cependant, il est toujours important de commencer l'exploration sur une page susceptible de renvoyer à de nombreuses autres pages, car wget commence à la page de démarrage (appelée "graine") et suit de manière récursive les liens internes. La localisation d'une page de plan du site est idéale, si le site en a une.
    • Voici un exemple de commande avec de nombreux indicateurs utiles activés:
      wget - mirror - page-requis \ - Adjust-extension - convert-links \ - wait=1 - random-wait - no-clobber \ -e robots=off \ http://example.com/sitemap.html 
    • Assurez-vous de modifier http://example.com/sitemap.html ainsi que tous les indicateurs en fonction de vos besoins. Voici la signification des drapeaux, bien que vous devriez également consulter la documentation officielle de wget (ou info wget) ainsi que son manuel (type man wget):
        • - mirror active plusieurs options favorables à la mise en miroir du site, y compris le suivi récursif des liens.
        • - page-requisites permet à wget de télécharger des images, des feuilles de style et d'autres fichiers qui aident à produire une apparence fidèle à l'original.
        • - adjust-extensionajoute le suffixe .htmlaux fichiers HTML pour les rendre plus faciles à parcourir localement.
        • - convert-links modifie les liens dans les fichiers téléchargés afin qu'ils soient adaptés à la navigation locale.
        • - wait=1 force wget à attendre 1 seconde entre les requêtes (cependant, voir aussi l'option suivante).
        • - random-waitmultiplie aléatoirement la constante de - waitpour chaque requête afin que le modèle de téléchargement soit moins suspect; cela aide vraisemblablement à éviter d'être banni de la propriété intellectuelle.
        • - no-clobberconservera les copies locales d'un fichier au lieu d'écraser ou de télécharger de nouvelles copies. C'est quelque chose à considérer si le téléchargement a été arrêté au milieu.
        • -e robots=offs'éteint en obéissant au robots.txtfichier d'un site. Certaines personnes considèrent qu'il est respectueux de suivre les règles de robots.txt, mais parfois des sites entiers sont exclus par robots.txt(si les propriétaires mettent Disallow: /). L'équipe d'archives, pour sa part, considère robots.txt«une note de suicide» et l'ignore.
      • Pensez également à utiliser les options suivantes:
        • - user-agent='Mozilla/5,0 Firefox/40,0'configurera votre agent utilisateur pour qu'il apparaisse comme si vous utilisiez Firefox pour accéder au site. Ceci est utile car certains sites interdisent les agents utilisateurs de type robot ou affichent des pages différentes en fonction de l'agent utilisateur.
        • - restrict-file-names=nocontrolempêchera wget de toucher des caractères spéciaux dans l'URL. Ceci est souvent utile si vous téléchargez à partir d'un site avec des noms de fichiers contenant de nombreux caractères Unicode.
      • cURL est un utilitaire similaire à wget qui possède des fonctionnalités similaires. Sur Mac OS X et de nombreux systèmes BSD, cURL est le téléchargeur par défaut au lieu de wget. Vous pouvez également être intéressé par la recherche d'autres programmes destinés à la mise en miroir de sites, tels que HTTrack.
  7. 7
    Examinez le site Web pour voir s'il existe des modèles ou une structure. Si un site ne peut pas être facilement mis en miroir à l'aide de wget (ou d'un utilitaire similaire), il est temps d'adopter une autre stratégie. De nombreux sites, tels que les forums Web, ont des modèles explicites dans l'URL, tels que des fils de discussion numérotés.
    • Pour prendre un exemple, nous pouvons regarder AutoAdmit, un forum de discussion notoire. L'un des fils de discussion du site a l'URL http://autoadmit.com/thread.php?thread_id=2993725&mc=12&forum_id=2. Cependant, nous pouvons remarquer que le seul nombre crucial ici est le thread_id; en effet, la navigation vers http://autoadmit.com/thread.php?thread_id=2993725 affiche une page essentiellement identique. Nous pouvons maintenant essayer de déduire que la structure générale de l'URL d'AutoAdmit est http://autoadmit.com/thread.php?thread_id=N, où N est un nombre; essayer plusieurs URL qui sont des instances de ce modèle général confirme cette. Après cela, il s'agit de parcourir tous les threads et de les télécharger; en bash:
      pour i dans {1. 0,2993725} do wget -A 'Mozilla/5,0 Firefox/40,0' \ "http://xoxohth.com/thread.php?thread_id=$i" sleep 0.3s done 
    • Bien sûr, la structure d'URL d'AutoAdmit est l'une des plus simples. D'autres sites, comme les blogs WordPress, peuvent nécessiter, par exemple, de parcourir les pages d'archives en boucle après avoir calculé le nombre de pages d'articles par mois (bien que les blogs WordPress aient également tendance à se prêter à un crawl naïf). Il n'y a pas de manière générale de s'y prendre, vous pourriez donc être seul; rechercher sur Google peut souvent être très utile.
    La pourriture des liens (le phénomène où les anciens sites Web
    La pourriture des liens (le phénomène où les anciens sites Web et pages disparaissent, rendant les liens inutiles) est un énorme problème sur Internet.
  8. 8
    Envisagez des techniques plus avancées ou fastidieuses pour télécharger le site s'il contient beaucoup de javascript. Ces derniers temps, le Web s'est de plus en plus tourné vers l'utilisation intensive de JavaScript et d'autres éléments interactifs (parfois appelés scripts DOM). Bien que ce changement ait permis au Web de «rivaliser avec les applications natives sans téléchargement initial lourd, sans processus d'installation, et ce, sur des appareils anciens et nouveaux», il fait encore souvent l'objet de moqueries et de critiques. En termes d'archivage de sites Web, JavaScript et les éléments interactifs sont presque toujours de mauvaises nouvelles. Il existe plusieurs stratégies pour essayer de gérer l'archivage d'un site JavaScript.
    • Une approche consiste à essayer d'éviter complètement JavaScript. De nombreux sites mettent à disposition des flux RSS ou Atom que les lecteurs peuvent utiliser pour se tenir au courant des nouveaux contenus. Pour les archiveurs, les flux Web sont utiles car il s'agit de XML statique, ce qui facilite le téléchargement et le traitement. Ceci est particulièrement utile si vous souhaitez continuer à faire des instantanés du site: suivez simplement les flux pertinents et vous aurez automatiquement ce que vous voulez (si vous avez de la chance; de nombreux sites n'affichent que des aperçus sur les flux, ou les auteurs peuvent modifier le contenu par la suite, etc., ce qui complique les choses). Une mise en garde ici est que la plupart des flux Web ne contiennent que les derniers articles ou articles, donc l'archivage rétroactif d'un site peut ne pas être possible.
    • Autres éléments à examiner:
      • JavaScript dans le navigateur pour, par exemple, cliquer automatiquement sur les éléments
      • PhantomJS et autres navigateurs sans tête
      • Les sites Web changent fréquemment leur interface utilisateur, il peut donc être difficile de suivre
  9. 9
    Exportez les cookies, si un site est protégé par mot de passe ou nécessite une authentification. Les sites nécessitant une authentification sont difficiles d'accès via des outils tels que wget. Cependant, il est possible d'exporter des cookies à partir de navigateurs graphiques comme Firefox, puis d'utiliser les cookies pour accéder aux sites sur wget.
  10. 10
    Utilisez plusieurs ordinateurs ou adresses IP pour accélérer l'archivage. Si un site Web peut détecter relativement rapidement les robots et les interdire, une option (en plus de ralentir) consiste à se connecter au site en utilisant plusieurs adresses IP. Il y a plusieurs façons de le faire; en voici deux: une forme simple d'avoir plusieurs adresses IP est de changer votre emplacement physique en visitant par exemple plusieurs cafés ou bibliothèques; à chaque nouvel emplacement, vous aurez une nouvelle adresse IP avec laquelle télécharger à partir du site. Une autre option consiste à obtenir l'accès à plusieurs ordinateurs, par exemple en achetant l'accès à des serveurs privés virtuels. Un avantage de cette dernière option est que vous pouvez avoir plusieurs adresses IP qui peuvent télécharger simultanément, ce qui accélérera le processus de téléchargement au lieu de simplement vous permettre de continuer le téléchargement. Cependant, sachez que cette dernière option implique souvent de dépenser de l'argent, même si cela peut être aussi bas que 11€ par an. Cette dernière forme de téléchargement est en plus d'une légalité douteuse.
    • Il est également possible d'utiliser le réseau d'anonymat Tor pour modifier continuellement votre IP en changeant les nœuds de sortie. Cependant, il est fortement déconseillé d'abuser de Tor de cette manière.
  11. 11
    Automatisez au maximum. Si vous comptez continuer à faire des archives du site ou si le site cible est énorme, il devient alors très important d'automatiser autant que possible le processus.
    De prendre également des mesures pour minimiser la taille de l'archive en compressant les fichiers
    Il est donc important d'envisager à l'avance la taille de l'archive et de prendre également des mesures pour minimiser la taille de l'archive en compressant les fichiers.
  12. 12
    Pensez à publier vos archives. Il y a plusieurs raisons pour lesquelles vous pourriez vouloir rendre vos archives publiques. D'une part, vous êtes maintenant passé par un processus fastidieux d'archivage du site; si d'autres veulent aussi des copies locales, alors il est probable qu'ils seraient heureux de découvrir que quelqu'un d'autre a fait le travail pour eux. De plus, "de nombreuses copies protègent les choses", donc permettre à d'autres de refléter vos archives garantit qu'elles sont plus sûres contre les menaces telles que les pannes de disque. Voir par exemple la page de téléchargement d'Internet Archive pour en savoir plus.

Mises en garde

  • Certains sites ont des liens spéciaux qui sont censés être des «pots de miel» pour les bots. Ceux-ci se présentent sous plusieurs formes, mais sont généralement des liens déguisés de telle sorte que les utilisateurs réguliers d'un site ne cliquent pas dessus, mais tels qu'un robot suivant de manière récursive tous les liens les suivrait. Un type de pot de miel mettra sur liste noire les personnes qui cliquent sur un lien particulier, tandis que d'autres inciteront le robot à suivre une boucle infinie (également appelée piège à araignée).
  • Faites attention aux sites qui renvoient vers différents liens de requête, de sorte que vous pourriez vous retrouver avec, par exemple, plusieurs copies de la même page triées de manière différente ou utilisant des requêtes différentes.
  • Certains sites implémentent des Captchas, ce qui rend l'archivage extrêmement difficile. Si vous devez résoudre beaucoup de CAPTCHA, envisagez d'essayer de mettre en place un solveur ou de payer des personnes pour les résoudre à votre place (il existe des services en ligne pour cela). Cependant, cela sort du cadre de ce guide.
    Il est important de pouvoir archiver des informations sur internet
    Quelle que soit la motivation, il est important de pouvoir archiver des informations sur internet.
  • Vous pourriez rencontrer des problèmes de réseau à la maison si vous téléchargez trop.
  • Vous pouvez également causer des problèmes au site que vous ciblez (et même le faire tomber) si vous téléchargez trop ou trop rapidement. C'est particulièrement un problème si vous utilisez des méthodes plus douteuses, comme l'utilisation de plusieurs ordinateurs pour effectuer des téléchargements ou le non-respect des limites de téléchargement suggérées.
  • Certains sites sont plus gros qu'il n'y paraît au premier abord. Un problème que vous pourriez rencontrer est le manque d'espace disque sur votre ordinateur. Il est donc important d'envisager à l'avance la taille de l'archive et de prendre également des mesures pour minimiser la taille de l'archive en compressant les fichiers.

    La taille moyenne des pages Web n'a cessé d'augmenter, la taille moyenne étant de 1600 Ko en juillet 2014. Bien entendu, si vous ciblez un site Web spécifique, la taille des pages de ce site pourrait s'écarter considérablement du chiffre indiqué ci-dessus. Par conséquent, il est utile de regarder de plus près le site spécifique en main. Dans le navigateur Firefox, vous pouvez appuyer sur Ctrl- Shift- qpour afficher le moniteur réseau; vous pouvez ensuite appuyer sur "Recharger" pour recharger la page, après quoi vous pouvez voir la taille totale du transfert réseau. (D'autres navigateurs peuvent avoir une fonctionnalité similaire.) Faire cela pour plusieurs pages vous donnera une bonne idée de l'espace que chaque page occupera. L'autre information importante est le nombre total de pages que l'on s'attend à télécharger, qui dépend aussi beaucoup du site. De nombreux blogs, par exemple, répertorient le nombre de messages pour chaque mois, donc les additionner vous donnera une bonne idée; pour les sites plus complexes, c'est plus difficile.

    • En ce qui concerne la compression de fichiers, les programmes de déduplication de données comme bup sont excellents, surtout si vous souhaitez continuer à faire des instantanés du site indéfiniment. Même le simple fait d'utiliser des programmes de compression de fichiers comme xz peut réduire considérablement l'espace disque, car de nombreux sites Web ont tendance à contenir beaucoup de texte, ce qui se compresse bien. Vous voudrez peut-être même écrire un script qui filtre le modèle de site de sorte qu'il ne vous reste que le contenu. Un tel script existe pour Quora, pour donner un exemple.
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail