HtmlAgilityPack scraping - extraction de noeuds spécifiques à partir d'un document html

c# html html-agility-pack web-scraping xpath

Question

Toutes mes excuses à l'avance si cela a déjà été répondu (si tel est le cas, indiquez-le-moi au bon endroit), j'ai cherché ici, sur Internet, sur youtube, etc. pendant deux jours et je n'ai toujours pas trouvé de réponse.

Je voudrais extraire quelques données de l'URL suivante: https://betcity.ru/en/results/sp_fl=a:46 ;

J'essaie d'obtenir tous les noms d'événements de la journée (le premier est: Ho Kwan Kit / Wong Chun Ting - Fan Zhendong / Xu Xin et tous les autres qui le suivent). Lorsque j'inspecte cet élément, je peux voir cette partie du code HTML:

<div class="content-results-data__event"><span>Ho Kwan Kit/Wong Chun Ting — Fan Zhendong/Xu Xin</span></div>

Je pensais obtenir toutes les divs avec class = "content-results-data__event" et obtenir un texte interne à partir de ces divs. Chaque fois que je lance mon code, je n'ai aucun résultat. Pourquoi est-ce que je ne reçois aucun nœud quand je peux voir que des divs avec une telle classe existent et comment puis-je obtenir tous les événements (si j'apprends comment faire, je pourrais obtenir d'autres informations dont j'ai besoin de ce site) Voici mon code (je dois dire que je suis assez nouveau dans ce domaine).

<div class="content-results-data__event"><span>Ho Kwan Kit/Wong Chun Ting — Fan Zhendong/Xu Xin</span></div>

}

Réponse acceptée

Voici comment obtenir le code HTML pour une journée d’allumettes avec Selenium. Le repos est HtmlAgilityPack. Le site utilise des certificats auto-signés. J'ai donc dû configurer le pilote pour accepter les certificats auto-signés. S'amuser.

        var ffOptions = new FirefoxOptions();
        ffOptions.BrowserExecutableLocation = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
        ffOptions.LogLevel = FirefoxDriverLogLevel.Default;
        ffOptions.Profile = new FirefoxProfile { AcceptUntrustedCertificates = true };
        var service = FirefoxDriverService.CreateDefaultService();
       var driver = new FirefoxDriver(service, ffOptions, TimeSpan.FromSeconds(120));

        string url = "https://betcity.ru/en/results/date=2017-11-19;"; //remember to update the date accordingly.

        driver.Navigate().GoToUrl(url);
        Thread.Sleep(2000);
        Console.Write(driver.PageSource);



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi