2011-09-20 6 views
2

에 대한 인코딩을 설정 :방법 Heres는 내 코드 HtmlAgilityPack HTMLDocument의

HtmlWeb hw = new HtmlWeb(); 

HtmlAgilityPack.HtmlDocument htmlDoc = hw.Load(@"www.SomeForeignURL.com"); 

(가) HTML 페이지가 이상하게 보일 문자가 포함되어 돌아 ID가 UTF-8로 반환 된 문서의 인코딩을 지정하는 것을 좋아합니다. 어떻게 해결할 수 있을까요?

는 (그래서 같은 문서를로드 시도 : htmlDoc.Load에게 ("URL", Encoding.UTF8를)하지만 URI가 지원 또는 그런 일하지 않다는 오류를 반환했습니다.)

답변

0

그것을 아마 그 유용한하지만 Load() 메서드가 자동으로 실패하고 (아마도 형식을 감지하지 못하는) 문제가 발생하여 먼저 파일을 문자열로로드하여 해결했습니다 (파일을 다운로드하는 다른 함수를 사용함). 그런 다음 LoadHTML() 메서드를 사용했습니다. 나는 1 년 늦게 대답하고, 나는 C#이 아닌 powershell을 사용하고 있지만 힌트가 여전히 적용될 수 있습니다.

는 두 번째 마지막 줄을 참조하십시오 단순히 문자열로 파일을 읽고 LoadHTML()에 passess

# http://www.leeholmes.com/blog/2010/03/05/html-agility-pack-rocks-your-screen- 

scraping-world/ 
function DownloadFile { 
Param([Parameter(mandatory=$true)]$source , 
    [Parameter(mandatory=$true)]$destination) 


    $wc = New-Object System.Net.WebClient 
    $wc.DownloadFile($source, $destination) 
} 

$erroractionpreference = 'stop' 
Set-Strictmode -version 2 

DownloadFile "http://someurl/index.php?action=searchplayer&server=0&player=%" "$pwd\all.php" 

$types = add-type -Path .\agilitypack\HtmlAgilityPack.dll 
$doc = New-Object HtmlAgilityPack.HtmlDocument 
$doc.LoadHtml([string](get-content .\all.html)) 
$doc 
관련 문제