web-dev-qa-db-fra.com

Comment trouver tous les liens / pages sur un site web

Est-il possible de trouver toutes les pages et les liens sur N'IMPORTE QUEL site Web? Je voudrais entrer une URL et produire une arborescence de répertoires de tous les liens de ce site?

J'ai regardé HTTrack mais cela télécharge tout le site et j'ai simplement besoin de l'arborescence.

83
Jonathan Lyon

Check out linkchecker - Il explorera le site (tout en obéissant à robots.txt) et générera un rapport. À partir de là, vous pouvez créer une solution pour créer l’arborescence de répertoires.

64
Hank Gay

Si vous avez la console du développeur (JavaScript) dans votre navigateur, vous pouvez taper ce code dans:

urls = document.querySelectorAll('a'); for (url in urls) console.log(urls[url].href);

Raccourci:

n=$$('a');for(u in n)console.log(n[u].href)
35
ElectroBit

S'il s'agit d'une question de programmation, alors je vous suggère d'écrire votre propre expression régulière pour analyser tout le contenu récupéré. Les balises cible sont IMG et A pour HTML standard. Pour Java,

final String openingTags = "(<a [^>]*href=['\"]?|<img[^> ]* src=['\"]?)";

avec les classes Pattern et Matcher, cela devrait détecter le début des balises. Ajoutez une balise LINK si vous voulez aussi du CSS.

Cependant, ce n’est pas aussi facile que vous le pensiez au départ. De nombreuses pages Web ne sont pas bien formées. Extraire par programmation tous les liens que l'être humain peut "reconnaître" est vraiment difficile si vous devez prendre en compte toutes les expressions irrégulières.

Bonne chance!

0
mizubasho