저는 파이썬으로 웹 크롤러를 작성하고 있으며 웹 사이트에서 헤드 라인을 가져 오는 작업이 포함됩니다. 헤드 라인의파이썬에서 UTF-8 문자열 디코딩
하나는 읽은한다 : 그리고 엉덩이의도
오는 그러나 대신 말했다 : 그리고 Hipâ € ™의도 오는
잘못 무슨 일이야?
저는 파이썬으로 웹 크롤러를 작성하고 있으며 웹 사이트에서 헤드 라인을 가져 오는 작업이 포함됩니다. 헤드 라인의파이썬에서 UTF-8 문자열 디코딩
하나는 읽은한다 : 그리고 엉덩이의도
오는 그러나 대신 말했다 : 그리고 Hipâ € ™의도 오는
잘못 무슨 일이야?
원본 텍스트를 올바르게 디코딩해야합니다. 대부분 원본 텍스트는 ASCII가 아닌 UTF-8 형식입니다.
질문에 대한 문맥이나 코드를 제공하지 않으므로 직접 답변을 드릴 수 없습니다.
난 당신이 유니 코드 문자 인코딩 파이썬으로 수행하는 방법을 연구 제안 :
네, UTF-8은 Windows 1252처럼 취급됩니다 :'U '\ N {오른쪽 따옴표 만}'. encode ('utf-8') .deode ('cp1252')'. – eryksun
그것은 인코딩 오류입니다 - 그래서 유니 코드 문자열이 있다면, 이것은 그것을 해결한다고 :
text.encode("windows-1252").decode("utf-8")
을
는 일반 문자열의 경우 추가 단계가 필요합니다 :
text.decode("utf-8").encode("windows-1252").decode("utf-8")
을3210
두 가지 모두 유니 코드 문자열을 제공합니다. 그런데
이 - 당신이 chardet을 사용할 수 있습니다,이 같은 텍스트의 조각으로 인해 인코딩 문제로 엉망이 된 방법을 발견 :
>>> import chardet
>>> chardet.detect(u"And the Hip’s coming, too")
{'confidence': 0.5, 'encoding': 'windows-1252'}
당신이 관련 코드를 포함하면 당신을 도울 쉬울 것, 그리고 파싱 할 특정 웹 사이트. – jbowes