HttpClient ne reçoit pas la source HTML complète du site Web

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

Question

J'essaie de supprimer les offres du site http://olx.pl/ , j'utilise HttpClient, le problème est que le site retranscrit depuis le client est très différent et ne contient pas la liste des offres comme dans le code source accessible directement depuis le navigateur. Une idée? Voici mon code:

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

Réponse acceptée

HttpClient ne chargera pas le contenu généré à partir de javascript. Au lieu de cela, vous pouvez utiliser WebView pour exécuter js. J'ai couru les deux, le résultat HttpClient avait une longueur de 235507 et la longueur du résultat WebView de 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;" });
    }



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