HtmlAgilityPack
을 사용하여 웹 페이지를로드하고 구문 분석하는이 코드가 있습니다. 대부분의 웹 페이지에서 작동하지만 일본어 웹 페이지를로드하려고하면 인코딩이 잘못되었습니다. 어떻게해야합니까? 실제로 웹 페이지 인코딩을 기반으로 인코딩을 설정하려면 어떻게해야합니까?HtmlAgilityPack으로 일본어 웹 페이지로드하기
class Program {
private const string HttpMethod = "GET";
private const string UserAgent =
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7";
static void Main(string[] args) {
var request = WebRequest.Create("http://infoseek.co.jp/") as HttpWebRequest;
if (request == null)
return;
request.Method = HttpMethod;
request.UserAgent = UserAgent;
var response = request.GetResponse() as HttpWebResponse;
if (response == null)
return;
var stream = response.GetResponseStream();
var document = new HtmlDocument {
OptionCheckSyntax = true,
OptionFixNestedTags = true,
OptionAutoCloseOnEnd = true,
OptionDefaultStreamEncoding = Encoding.UTF8,
OptionReadEncoding = true
};
document.Load(stream, Encoding.UTF8);
var d = document.DocumentNode;
}
}
예. 알고 있습니다. 하지만 문제는이 태그는 문서가로드 된 후에 액세스 할 수 있지만 문서가로드되는 동안 인코딩이 필요하다는 것입니다. 제발 좀 생각해 봤어? –
이 스레드의 마지막 답변을보십시오. http://htmlagilitypack.codeplex.com/discussions/60174 System.Net.WebClient를 사용하여 페이지를 문자열로 검색 한 다음 문자열을 전달하여 HtmlDocument를 만듭니다. – devio