Voici un petit exemple de code C# permettant de scrapper des informations dans une page. A titre d’exemple, je suis parti de ce sujet où @christohpe demande de l’aide pour scrapper des informations d’une page.
C’est un cas simple qui se prêtait bien pour un exemple.
Voici le code commenté (pour les vrais débutants, regardez le tutos au dessus pour comprendre un peu mieux). Ce code ne permet que d’extraire les informations que d’une seule page. On n’exporte pas encore le résultat (fichier, base de données, mail ou autre)
`public void GetExhibitors()
{
//On télécharge la page
var client = new WebClient();
var pageContent = client.DownloadString("http://www.franchiseparis.com/Recherche-exposants/#search=rpp%3D64%26startRecord%3D1");
//On analyse la page html
var doc = new HtmlDocument();
doc.LoadHtml(pageContent);
//On crée la liste des exposants (vide pour le moment)
var exhibitors = new List<Exhibitor>();
//Après avoir regardé la structure de l'html, on récupère les noeuds qui nous intéresse
var listNodes = doc.DocumentNode.SelectNodes("//li[contains(@class, 'resultItem')]");
foreach (var listNode in listNodes)
{
//On crée un exposant
var exhibitor = new Exhibitor();
//On le complète avec les informations contenues dans le noeud courant
exhibitor.Title = listNode.SelectSingleNode("*/*[@class='name']").InnerText;
exhibitor.Country = listNode.SelectSingleNode("*/*[@class=' country']").InnerText;
//On ajoute l'exposant à la liste des exposants
exhibitors.Add(exhibitor);
}
}
public class Exhibitor
{
public string Title { get; set; }
public string Country { get; set; }
public string Headline { get; set; }
public string Activity { get; set; }
}`