HttpClient沒有獲得完整的網站html源代碼

c# html-agility-pack http web-scraping win-universal-app

我試圖從http://olx.pl/網站中刪除優惠,我正在使用HttpClient,問題是從客戶端重新獲得的網站是不同的,並且不包含直接從瀏覽器訪問的源代碼中的優惠列表。任何想法?這是我的代碼:

  string url = "http://olx.pl/oferty/q-diablo/?search%5Bdescription%5D=1";
  HttpClient client = new HttpClient();
  string result = await client.GetStringAsync(url);

一般承認的答案

HttpClient不會加載從javascript生成的內容。相反,您可以使用將運行js的WebView。我運行了兩個, HttpClient結果的長度為235507, WebView結果長度為464476。

    WebView wv = new WebView();
    wv.NavigationCompleted += Wv_NavigationCompleted;
    wv.Navigate(new Uri(url));

    private async void Wv_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
    {
        string wvresult = await sender.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });
    }


Related

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