2010-03-15 4 views

Répondre

0

Vous pouvez extraire des liens de fichiers html en utilisant le navigateur de texte Lynx. Les scripts Bash autour de cela ne devraient pas être difficiles.

+0

Lynx peut le faire, mais il ne le supporte pas vraiment. wget est beaucoup mieux adapté pour le but. – reinierpost

+0

Comment obtenez-vous wget pour afficher une liste de liens dans une page? – Quentin

+0

C'est une idée géniale. Pourquoi n'y ai-je pas pensé plus tôt? –

2

J'utilise checklink (un projet W3C)

+0

Tant que vous prenez soin de définir l'agent utilisateur et d'accepter les en-têtes (pour éviter les faux codes d'erreur provenant des détecteurs de bot), cela devrait fonctionner. –

+0

Cela semblerait correct, mais il n'est certainement pas destiné à de tels projets de grande taille - il n'a aucun moyen de lister simplement les liens brisés, et la sortie pour mon projet est * vraiment * grande. –

0

Essayez les outils de ligne de commande webgrep ou, si vous êtes à l'aise avec Perl, le module HTML::TagReader par le même auteur.

4

vous pouvez utiliser wget, par exemple

wget -r --spider -o output.log http://somedomain.com 

au bas du fichier output.log, il indiquera si wget a trouvé des liens brisés. vous pouvez analyser cela en utilisant awk/grep

+0

Une autre ligne de commande ** wget ** pour vérifier les liens brisés peut être trouvée dans [cette réponse] (http://stackoverflow.com/a/15029100/1497596). Notez également qu'un commentaire que j'ai laissé sur cette réponse fournit un lien vers ** wget pour Windows **. – DavidRR

Questions connexes