HttpClient没有获得完整的网站html源代码

时间:2016-04-16 11:32:47

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

我尝试从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);

1 个答案:

答案 0 :(得分:1)

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