HttpClient는 전체 웹 사이트 HTML 소스를 가져 오지 않습니다.

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

문제

http://olx.pl/ 사이트에서 제공하는 스크랩을 시도합니다. HttpClient를 사용하고 있습니다. 문제는 클라이언트에서 검색 한 사이트가 diffrient이며 브라우저에서 직접 액세스 한 소스 코드에있는 것처럼 제공 목록을 포함하고 있지 않다는 것입니다. 어떤 생각? 내 코드는 다음과 같습니다.

  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
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.