HtmlAgilityPackスクレイピング - htmlドキュメントから特定のノードを抽出する


質問

事前に申し訳ありませんが(私が正しい場所を指している場合は)、私はここで2日間Web、YouTubeなどを検索し、依然として答えを見つけていない。

私は次のURLからいくつかのデータを抽出したいと思っています: https ://betcity.ru/en/results/sp_fl=a: 46 ;

私はその日のすべてのイベント名を取得しようとしています(1番目はHo Kwan Kit / Wong Chun Ting - Fan Zhendong / Xu Xinとそれ以降のすべてです)。私がその要素を調べると、私は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が存在し、どのようにすべてのイベントを取得することができます(私はこのサイトから必要な他の情報を得ることができる方法を学ぶ場合)。ここに私のコードがあります(私はこれについてかなり新しいです)。

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

}

受け入れられた回答

ここでは、Seleniumを使用して1日の試合で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);




ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ