2010-05-27 3 views
0

파이썬에서 HTTPLIB2 패키지를 사용하여 다운로드 한 많은 HTML 파일이 있습니다. ' '이 (가) 'Â'로 표시됩니다.도움말 파이썬에서 비 ASCII 문자 대체

<font color="#ff0000">02/12/2004Â </font> is showing while <font color="#ff0000">02/12/2004&nbsp;</font> is the desired format. 

파이썬에서 어떻게 '&nbsp;''Â '을 대체합니까? 고마워요!

+0

예 예전 HTML과 약간 다릅니다. httplib2를 사용하여 실제 브라우저가 아닌 다운로드합니다. 페이지를 다운로드하기 위해 httlib2 헤더에 포함해야하는 것이 있습니까? – ThinkCode

답변

-1
s.replace('Â ', '&nbsp;'); 

그러나 HTTPLIB2를 사용하지는 않았지만 다운로드 할 때 HTML 파일의 소스가 변경되면 뭔가 잘못되었다고 확신합니다. 진행중인 디코딩 문제가있을 수 있습니다. 어떤 버전의 파이썬을 사용하고 있습니까? 파이썬 3의 경우 내용은 문자열이 아닌 바이트 시퀀스가되므로 바이트를 디코딩 할 올바른 코드 페이지를 지정해야합니다.

http://code.google.com/p/httplib2/wiki/ExamplesPython3

편집 : 당신은 단지 httplib2 사용하도록 제한하지 않는 경우, 아마도 당신은 파이썬 2.6 표준 라이브러리의 일부인 urllib, urllib2, 또는 httplib 모듈을 사용하여에보고하려고 할 수 있을까?

+0

Python 2.6을 사용하고 있습니다 .. – ThinkCode

+0

아니요 .. 다음 오류가 발생합니다. SyntaxError : 파일의 '\ xc3'이 아닌 비 ASCII 문자 내 파이썬에서 content.replace ('Â', ' ')를 사용했습니다. 프로그램 .. 고마워 .. – ThinkCode

+0

파이썬 2 버전으로 작업하기 때문에 유니 코드 문자열을 사용하여 'Â'를 눌러야 할 수도 있습니다. 저는 3이 나온 후 몇 달 후에 파이썬을 들었습니다. 그래서 나는 그 경험을 주로 가지고있었습니다. – JAB

0
filtered_content = filter(lambda x: x in string.printable, content) 

이렇게하면 내 문제가 해결되었습니다. 고맙습니다!

+0

이것은 동일한 문제를 가지고 나를 위해 일했습니다. 좋은. – AP257

+1

이것은 문제를 해결하지 못했습니다.이 문제는 공간으로 대체하는 대신 제거되었습니다. –

1

인코딩 문제가 있습니다. 이 문자를 제거하는 대신 페이지 인코딩을 찾은 다음 파일을 읽을 때 적절한 문자 인코딩을 사용하여 open() 대신 codecs module을 사용하십시오.

관련 문제