HtmlAgilityPack抓取 - 從html文檔中提取特定節點

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

如果這已經得到回答,請提前道歉(如果是這樣請指向正確的位置),我在這裡搜索,網絡,youtube等兩天仍然沒有找到答案。

我想從以下網址中提取一些數據: https ://betcity.ru/en/results/sp_fl=a: 46 ;

我想要獲得當天的所有活動名稱(第一個是:Ho Kwan Kit / Wong Chun Ting - 范振東/許昕以及其他所有活動後)。當我檢查那個元素時,我可以看到html的這一部分:

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

我想用class =“content-results-data__event”獲取所有div,而不是從那些div獲取內部文本。每次運行我的代碼時,我都得到零結果。當我看到有這樣的類的div存在時,為什麼我沒有得到任何節點?如何獲得所有事件(如果我學會瞭如何做到這一點,我可以從這個站點獲得我需要的其他信息)。這是我的代碼(不得不說我對此很新)。

public partial class Scrapper : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List<string> Events = new List<string>();
        HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = NewMethod(web);
        var Nodes = doc.DocumentNode.SelectNodes(xpath: "//div[@class='content - results - data__event'']").ToList();

        foreach (var item in Nodes)
        {
            Events.Add(item.InnerText);
        }

        GridView1.DataSource = Events;
        GridView1.DataBind();


    }

    private static HtmlDocument NewMethod(HtmlAgilityPack.HtmlWeb web)
    {
        return web.Load("https://betcity.ru/en/results/sp_fl=a:46;");
    }
}

}

一般承認的答案

以下是如何使用Selenium獲取一天匹配的HTML。休息是HtmlAgilityPack。該站點使用自簽名證書,因此我必須配置驅動程序以接受自簽名證書。玩的開心。

        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);


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow