Partage

[C#] Récupérer données d'une page Web / HTML

Le 2 février 2013 à 20:38:03

Bonjour à tous !

Voilà, je suis étudiant en informatique et j'aurais voulu savoir s'il était possible de récupérer des infos d'une page web dans un programme en C Sharp. Je m'explique.

Un ami, inscrit sur des forums, m'a demandé de lui développer un petit programme qui ferait des statistiques selon certains critères. Les calculs, ce n'est pas un souci. En revanche, le profil de chaque pseudo est contenu dans un lien du genre http://www.LeSite.com/profil/NomDuPseudo.html dans laquelle se trouve un compteur de messages en temps réel.

Existe-t-il un moyen de récupérer le chiffre de ce compteur de manière automatisée ? Je vous remercie d'avance de l'attention que vous porterez à ma question et vous souhaite un agréable week-end ! :)

Publicité
Le 2 février 2013 à 20:38:03
Le 2 février 2013 à 21:10:32

Jette un coup d'oeil à la classe WebClient. Ensuite, tu peux parser le résultat XML, par exemple avec du LINQ to XML.
Le 2 février 2013 à 22:58:09

Je bais regarder ça alors, merci !
Le 3 février 2013 à 13:17:03

Utilise effectivement la classe WebClient (ou HttpClient) pour obtenir le contenu de chaque page HTML. Attention cependant que le HTML n'est pas du XML (même les pages xHTML sont rarement valides), donc tu risques de devoir plutôt passer par des expressions régulières pour récupérer les infos qui t'intéressent.
Le 3 février 2013 à 13:44:14

Salut

Comme ca été dit la classe WebClient est à utiliser. Ensuite tu peux utiliser le XPATH pour récupérer les infos ou utiliser HTML Agility Pack.

Le 4 février 2013 à 20:59:35

Je vous remercie de vos réponses.

Visiblement, si j'en crois le doctype du site web (en l’occurrence jeuxvideo.com) c'est du XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Mon idée serait de reprendre le compteur de messages d'un pseudo (via sa Carte de Visite, telle que celle-ci : http://www.jeuxvideo.com/profil/abcd.html ) dans une variable afin de faire divers calculs de statistiques dessus. Mais je ne connais pas le WebClient / HttpClient et s'il s'agit effectivement d'XHTML je voudrais être sûr que c'est la bonne méthode.


Je vous remercie d'avance de vos réponse, et je remercie d'ailleurs les personnes qui m'ont déjà aidé ! :)

-
Edité par GrandeGuerre le 4 février 2013 à 21:01:56

Le 4 février 2013 à 21:43:29

Salut

J'ai utilisé HTML Agility Pack.

  string url = "http://www.jeuxvideo.com/profil/abcd.html";
            HtmlWeb web = new HtmlWeb();
            HtmlAgilityPack.HtmlDocument doc = web.Load(url);

            HtmlNode someNode = doc.DocumentNode.SelectSingleNode("//*[@id='pt_nbpost']");
             //tu affiches ça : 
            someNode.InnerText;



Le 9 décembre 2013 à 19:47:38

[C#] Récupérer données d'une page Web / HTML

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown