Bonjour,

Mon but étant de créer un programme qui parcourt un site et récupère toutes les adresses des pages. (Pour éventuellement faire un sitemap ou autre)

J'ai commencé par utilisé cURL.
J'arrive à récupérer le code de la page dans une variable "String^", mais ensuite je ne sais pas trop quoi faire. (pour ceux que ça intéresse, je mets le code plus bas)

J'ai regardé du côté de libxml (pas trouvé de version pour visual) et msxml (pas trouvé d'exemple convainquant) rien ne me convient.

Ensuite j'ai pensé aux expressions régulières (extraire que la partie "href"), mais je désespère après avoir passé tout ce temps

Quelqu'un peut-il me conseiller sur le chemin à prendre et comment faire ?
Merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
On est dans une classe "crawlWebSite"
 
static int writer(char *data, size_t size, size_t nmemb,
               string *writerData)
{
	if (writerData == NULL)
	 return 0;
 
	writerData->append(data, size*nmemb);
 
	return size * nmemb;
}
 
String^ crawlWebSite::exec()
{
	session = curl_easy_init(); 
	curl_easy_setopt(session, CURLOPT_URL, "http://cpp.developpez.com/");	
        string buffer;
	curl_easy_setopt(session, CURLOPT_WRITEDATA, &buffer);
	curl_easy_setopt(session, CURLOPT_WRITEFUNCTION, writer);
	curl_easy_perform(session);
	curl_easy_cleanup(session);
	return gcnew String(buffer.c_str());
}