Comment télécharger un site Web complet, mais en ignorant tous les fichiers binaires.
wget
a cette fonctionnalité en utilisant le -r
drapeau mais il télécharge tout et certains sites Web sont tout simplement trop pour une machine à faibles ressources et ce n'est pas utile pour la raison spécifique que je télécharge le site.
Voici la ligne de commande que j'utilise: wget -P 20 -r -l 0 http://www.omardo.com/blog
(mon propre blog)
wget
recursive
download
mime-types
Omar Al-Ithawi
la source
la source
Réponses:
Vous pouvez spécifier une liste de resp. modèles de nom de fichier non autorisés:
Permis:
Interdit:
LIST
est une liste de motifs / extensions de noms de fichiers séparés par des virgules.Vous pouvez utiliser les caractères réservés suivants pour spécifier des modèles:
*
?
[
]
Exemples:
-A png
-R css
-R avatar*.png
Si le fichier n'a pas d'extension resp. le nom de fichier n'a aucun modèle que vous pourriez utiliser, vous auriez besoin d'une analyse de type MIME, je suppose (voir la réponse de Lars Kotthoffs ).
la source
Vous pouvez essayer de patcher wget avec ceci (également ici ) pour filtrer par type MIME. Ce patch est assez ancien maintenant, donc il pourrait ne plus fonctionner.
la source
Un nouveau Wget (Wget2) a déjà une fonctionnalité:
Wget2 n'est pas sorti à ce jour, mais le sera bientôt. Debian unstable a déjà une version alpha livrée.
Regardez https://gitlab.com/gnuwget/wget2 pour plus d'informations. Vous pouvez envoyer vos questions / commentaires directement à [email protected].
la source
J'ai essayé une approche totalement différente: utiliser Scrapy, mais il a le même problème! Voici comment je l'ai résolu: SO: Python Scrapy - filtre basé sur mimetype pour éviter les téléchargements de fichiers non texte?
la source