Récupérer tous les liens d'un site

Signaler
Messages postés
113
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
24 juin 2009
-
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Bonjour,

Mon but étant de récupérer tous les liens d'un site pour éventuellement faire un sitemap ou autre fichier de ce type.

J'ai commencé par utiliser cURL, et j'ai réussi à stocker le code d'une page dans une variable "String^".

C'est après que cela se complique.
Je ne sais pas vers quelle solution se pencher.
libmxl : pas trouvé de version pour Visual Studio
msxml : pas trouvé des exemples pour faire ce que je veux.

Puis j'ai pensé aux expression régulières pour prendre que ce qui se trouve entre les "href", mais je n'ai pas encore approfondi le sujet.

Quelqu'un peut-il m'éclairer sur la meilleure manière de faire, et comment faire. (exemple : si vous connaissez une autre librairie que cURL etc...)

Merci.

4 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut

Pour les expressions régulières, tu peux faire un truc comme ça :

"( href=")([a-zA-Z0-9_\\-./\\?\\&=:]+)(")" => (espace, puis href=" puis une lettre min, maj, un chiffre, _, -, ., /, ?, &, =, ou : répétés 1 à n fois, puis ")

Tu récupères ce qui match l'expression régulière, tu remplaces par rien " href="" et le """ à la fin, et tu as ton url.

Je peux pas plus te donner d'infos sur la façon d'utiliser des expressions régulières en C++ en revanche, désolé.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Salut, on est une dizaine de développeurs à s'être penché sur le sujet pour un concours du meilleur code qui fait ça!
Noter la vitesse moyenne d'exécution, et le nombre de lignes de code.
Cliquer sur les noms pour voir le code. Tu devrais trouver ton bonheur.
http://pagesperso-orange.fr/2007/resultats.htm
Messages postés
113
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
24 juin 2009

Merci Krimog, je glisse ta réponse sous le coude pour étudier les regex plus tard.

Katsankat, ça m'a l'air très intéressant. Je vais regarder ça de plus prêt et je reviendrai vers vous.
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
Yop,

J'ai déjà fait ce type de programme. Voici ma source :

http://www.cppfrance.com/codes/WIN32-AFFICHE-TOUT-LIENS-PAGE-HTML_42940.aspx

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]