Comment trouver tous les liens / pages sur un site web

Est-il possible de trouver toutes les pages et les liens sur tout site donné? Je voudrais entrer une URL et produire une arborescence 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 des répertoires.

Checkch linker – il va explorer le site (tout en respectant le robots.txt ) et générer un rapport. De là, vous pouvez créer une solution pour créer l’arborescence de répertoires.

Ou vous pouvez utiliser Google pour afficher toutes les pages qu’il a indexées pour ce domaine. Ex: site:www.bbc.co.uk

Si vous avez la console de développement (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) 

S’il s’agit d’une question de programmation, je vous suggère d’écrire votre propre expression régulière pour parsingr tous les contenus récupérés. Les balises cibles sont IMG et A pour le code HTML standard. Pour JAVA,

 final Ssortingng openingTags = "(]*href=['\"]?| ]* src=['\"]?)"; 

Ceci avec les classes Pattern et Matcher devrait détecter le début des balises. Ajouter une balise LINK si vous souhaitez également CSS.

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

Bonne chance!

 function getalllinks($url){ $links = array(); if ($fp = fopen($url, 'r')) { $content = ''; while ($line = fread($fp, 1024)) { $content .= $line; } } $textLen = strlen($content); if ( $textLen > 10){ $startPos = 0; $valid = true; while ($valid){ $spos = strpos($content,'