Quels sont les bons extracteurs de liens là-bas?

Extracteur de lien – puisque je ne connais pas un meilleur nom pour cela; Un utilitaire qui peut prendre un fichier .htm, et me donner des liens, sans compter et donc, juste des liens directs. Utile pour les fichiers dans lesquels vous avez un certain nombre de liens html qui sont dans un texte et ainsi de suite …

Quelqu'un en connaît-il, par hasard?

Firefox, avec le complément Web Developer , peut le faire. Ouvrez le fichier HTML, affichez la barre d'outils du Développeur Web.

Dans le menu déroulant Informations, sélectionnez "Afficher les informations du lien". Il ouvrira un nouvel onglet avec une liste de tous les liens dans le fichier HTML.

Entrez la description de l'image ici

L' extension d'accessibilité Firefox peut également afficher une liste de liens dans une fenêtre, mais c'est peut-être une overkill, car il comporte beaucoup d'autres fonctionnalités destinées aux personnes handicapées.

Entrez la description de l'image ici

J'ai eu besoin d'une version rapide de cette version une ou deux fois dans le passé. Ma solution est généralement celle-ci:

  • Recherchez et remplacez "http: //" avec "\ r \ nhttp: //" (déplacez toutes les URL http sur leur propre ligne
  • Find / grep ou filtrez-le sur toutes les lignes qui commencent par "http: //" (regex quelque chose comme "^ http: //")
  • Trier les résultats filtrés, avec l'option de supprimer des lignes en double

C'est ma solution rapide, mais je n'ai pas utilisé un outil réel pour cela avant. Bien, je suppose que je pourrais l'envelopper dans un script .bat ou AutoHotkey. Je n'ai tout simplement pas eu besoin pour cela.

href="(?<url>(((ht|f)tp(s?))\://)?((([a-zA-Z0-9_\-]{2,}\.)+[a-zA-Z]{2,})|((?:(?:25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)(?(\.?\d)\.)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9\-\._\?\,\'/\\\+&amp;%\$#\=~]*)?)" 

Serais un regex qui pourrait l'atteindre.

Téléchargez Text Crawler (c'est un logiciel gratuit) et installez-le. Lancez-le une fois l'installation terminée. Dans la zone Filename / Filter tapez "* .htm * .html * .php" ou quoi que ce soit les extensions des fichiers HTML que vous analysez. Dans la zone Emplacement de démarrage, accédez au répertoire où se trouvent les fichiers. Par défaut, il analyse également les sous-répertoires, si vous ne voulez pas cette fonctionnalité, vous pouvez cliquer sur Options puis désélectionner "Numériser les sous-dossiers". Dans la zone Rechercher, tapez:

 <a.*?href\s*=\s*["'](.*?)['"].*?>(.*?)</a> 

Assurez-vous que "Utiliser les expressions régulières" a une case à cocher à côté. Ensuite, cliquez sur Rechercher. Il vous montrera tous les liens regroupés par les fichiers dans lesquels ils se trouvent. Vous pouvez également cliquer sur Extraire qui affichera une fenêtre avec tous les liens de tous les fichiers. Puisque vous avez déclaré que vous voulez les liens, je pensais que vous voulez l'ensemble

 <a href="something.php">Something</a> 

Afin que vous puissiez voir où le lien indique et quelle est la description. Si vous voulez seulement le lien sans l'étiquette complète, modifiez le RegEx vers

 href=[\"\'](http:\/\/|\.\/|\/)?\w+(\.\w+)*(\/\w+(\.\w+)?)*(\/|\?\w*=\w*(&\w*=\w*)*)?[\"\'] 

Qui reviendra

 href="something.php" 

Permettez-moi de savoir si cela répond à votre question. TextCrawler est une application géniale et, comme il est gratuit, il vaut la peine d'essayer.