from urllib.request import urlopen
html = urlopen("http://www.google.com/").read().decode('utf-8').replace("preview","")
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
if any(c.isalpha() for c in data):
print(data)
MyHTMLParser().feed(html)
input()
그래서 웹 사이트를보고 데이터를 저장하고 HTML의 기본 데이터를 표시하는 프로그램을 만들려고합니다. 이것은 완벽하게 Google에서도 작동하지만 IDLE에서도 완벽하게 작동하지만 cmd에 \u2605
(검은 색 별) 또는 \u00A9
(저작권)과 같은 유니 코드 문자가있는 다른 사이트는 오류를 표시합니다. 이 오류는 즉시 cmd 창을 닫습니다. 웹 사이트에 그들의 대부분 (교체)유니 코드 구문 분석 오류
"UnicodeEncodeError: 'charmap' codec can't encode character '\u2122' in position 8: character maps to (undefined)"
내가 많이 가질 수 있지만, 난 그냥 그것을 있도록 변환하는 간단한 방법이 확신 :. 역 추적은 그것을 읽을 수도 있고 단순히 ""로 대체 할 수도 있습니다.
html = urlopen ("http://www.google.com/") .read로 바 꾸었습니다.() .decode ('utf-8'). encode (sys. ('utf-8') 새로운 오류 유니 코드 디코딩 오류 'utf-8'코덱이 5311 위치의 바이트 0xff을 디코딩합니다 : 유효하지 않은 시작 바이트 – user3739743
URLopen 메서드에 '오류'를 추가 할 수 있다고 생각합니다. – ForgetfulFellow