2012-05-12 4 views
2

처음에는 "렌더링"이 올바른 단어인지 잘 모르겠습니다. 나는 웹 사이트에서 정보를 얻고 싶다. 따라서 현재 WebBrowser 컨트롤을 사용하고 있습니다. 이제 HttpWebRequests를 사용하는 것이 더 빠르며 스레딩을 더 쉽게 사용할 수 있기를 바랍니다. 하지만 HttpWebRequest에서받은 HTML 출력 문자열에는 필요한 정보를 생성하는 자바 스크립트가 많이 포함되어 있기 때문에 사용할 수 없습니다. 웹 브라우저는 JavaScript를 읽을 수있는 HTML로 "렌더링"합니다. "손으로"이 단계를 수행하는 방법, 그래서 내가 HttpWebRequests 사용할 수 있습니까?WebBrowser 컨트롤을 사용하지 않고 HTML을 렌더링하는 방법

나는 당신이 이해하기를 바랍니다.

+0

WebClient를 HttpWebRequest보다 선호 할 수 있습니다. 어쨌든 당신은 그런 식으로 사용하려는 것이 아니라 사용 조건을 위반하는 페이지를 긁어 모으는 것처럼 들립니다. 정보를 검색 할 수있는 (WebService) API가 있는지 확인 했습니까? – Filburt

+0

질문을 수정하십시오. 매우 명확하지 않습니다. – user845279

+0

@ user845279 질문 자체는 꽤 명확하지만 다른 곳에서도 이미 답변되었습니다. 나는 그것을 다른 사람에게 남겨두고 일치하는 복제본을 찾는다. – Filburt

답변

0

Awesomium이라는 프로젝트로 문제를 해결했습니다. 이 thread에서는 실행 된 javascript로 html을 얻는 데 필요한 모든 것을 찾을 수 있습니다. "특수 부분"은 다음과 같습니다.

var sourceVal = webView.ExecuteJavascriptWithResult("document.getElementsByTagName('html')[0].outerHTML;"); 

if (sourceVal != null) 
{ 
    using (sourceVal) 
    { 
     html = sourceVal.ToString(); 
    } 
} 
+0

HTTPWebrequest 및 httpwebresponse 개체를 사용하여이 작업을 수행 할 수도 있습니다. –

+1

HTTPWebRequest/HTTPWebResponse에서 가져온 html 내에서 Javascript를 실행하는 방법을 설명해 주시겠습니까? – netblognet

0

그래서 자바 스크립트 렌더링 엔진이 필요하다면 selenium 프로젝트를 살펴 보는 것이 좋습니다.

관련 문제