J'ai besoin d'extraire un site via HTTP. J'ai besoin de télécharger les images, HTML, CSS et JavaScript ainsi que de l'organiser dans un système de fichiers.
Est-ce que quelqu'un sait comment faire ça?
J'ai besoin d'extraire un site via HTTP. J'ai besoin de télécharger les images, HTML, CSS et JavaScript ainsi que de l'organiser dans un système de fichiers.
Est-ce que quelqu'un sait comment faire ça?
Réponses:
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com
Cela fonctionne dans la console.
cela saisira un site, attendra 3 secondes entre les demandes, limitera la vitesse de téléchargement pour ne pas tuer le site et se masquera de manière à ce qu'il semble être simplement un navigateur afin que le site ne vous coupe pas utilisant un mécanisme anti-sangsue.
Notez le -A
paramètre qui indique une liste des types de fichiers que vous souhaitez télécharger.
Vous pouvez également utiliser une autre balise, -D domain1.com,domain2.com
pour indiquer une série de domaines que vous souhaitez télécharger s'ils ont un autre serveur ou autre pour héberger différents types de fichiers. Il n'y a aucun moyen sûr d'automatiser cela dans tous les cas, si vous n'obtenez pas les fichiers.
wget
est généralement préinstallé sur Linux, mais peut être compilé de manière triviale pour d'autres systèmes Unix ou téléchargé facilement pour Windows: GNUwin32 WGET
Utilisez-le pour le bien et non pour le mal.
Bonne solution gratuite: HTTrack
HTTrack est un utilitaire de navigation hors ligne gratuit (GPL, libre / free) et facile à utiliser.
Il vous permet de télécharger un site Web à partir d'Internet dans un répertoire local, en créant de manière récursive tous les répertoires, en obtenant 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. HTTrack peut également mettre à jour un site miroir existant et reprendre les téléchargements interrompus. HTTrack est entièrement configurable et dispose d'un système d'aide intégré.
Sur les systèmes Linux, «wget» le fait à peu près.
Il a également été porté sur plusieurs autres plateformes, comme plusieurs des autres réponses le mentionnent.
De toute évidence, WGet a été mentionné à plusieurs reprises. La meilleure interface utilisateur que j'ai trouvée est
Il y a d'autres interfaces utilisateur pour WGet, dont certaines sont des candidats pour la pire question d' interface utilisateur
Vous devez utiliser wget - qui est disponible pour la plupart des plateformes. curl ne demandera pas de documents de manière récursive, ce qui est l'une des principales forces de wget.
Linux: (généralement inclus dans la distribution) http://www.gnu.org/software/wget/
Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
Mac: http: //www.geekology. co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/
S'IL VOUS PLAÎT assurez-vous que vous ne martelez pas le site Web - définissez des délais appropriés entre les demandes et assurez-vous qu'il respecte les conditions d'utilisation du site.
-Adam
En fait, suite à mon commentaire dans le post de GWLlosa, je viens de me rappeler que j'ai installé GnuWin32, et bien sûr, il contient un port Windows de wget.
http://sourceforge.net/projects/gnuwin32/
GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP
Je l'ai utilisé il y a quelques années et cela a bien fonctionné. Windows uniquement. Autrefois adware, mais plus, apparemment:
wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com
-p
: le paramètre indique à wget d'inclure tous les fichiers, y compris les images.-e robots=off
: ignorer les règles des sites robots.txt-U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
: chaîne d'agent utilisateur--random-wait
: éviter d'être mis sur liste noire--limit-rate=20k
: limite la vitesse à laquelle il télécharge les fichiers.-b
: continue wget après la déconnexion.
-c
(ou --continue
) lorsque les choses tournent mal et je dois redémarrer le processus.
Je pense que la capture de site IDM est la meilleure solution, il y a aussi Teleport pro
Free Download Manager peut également télécharger des sites Web complets.
Windows seulement, je pense.