2009-08-05 4 views
1

정보를 얻기 위해 크롤링 페이지를 작성 중이며 Groovy에서 페이지 구문 분석과 관련된 많은 문제가 있습니다. 예를 들어, 나는 juniversal chardet를 사용하여 그냥 머리에 태그 페이지를 스캔 대부분의 시간을 작동 반 솔루션을했습니다,하지만 때로는 이러한 태그의 두 사람은 한 페이지에서 찾을 수 있습니다 :페이지에 두 개의 charset 태그가 필요합니까?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
... 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

인가 거기에 사용할 표준 (처음, 마지막, 둘 다?) 또는 이것을하기위한 더 쉬운 방법이 있습니까? 감사.

답변

3

나는 경험적으로 그것을 할 것입니다 :

  • 실제로 모든 ASCII인가? 그렇다면 사용하는 것은 중요하지 않습니다.
  • 유효한 UTF-8을 준수합니까? 그렇다면, 나는 그것을 사용할 것입니다.
  • 그렇지 않으면 ISO-8859-1을 사용하십시오.
당신도 웹 서버에서 돌아 오는 내용 유형 헤더를 볼 수도 있습니다

...

는 기본적으로 페이지가 깨진이지만, 위의 합리적인 줘야한다 "추측을."

0

이 동작은 HTML 사양에 의해 정의되지 않습니다. 같은 문서에 두 개의 개별 content-type 태그를 사용할 수 없습니다. 어쨌든이 문서를 파싱해야 할 것이므로 가장 좋은 방법은 개발자의 의도에 대해 숙련 된 추측을하는 것입니다.

관련 문제