#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib2
import re
import HTMLParser
class WALLSTREET:
def __init__(self, baseUrl):
self.url = baseUrl
def get_html_content(self):
url = self.url
response = urllib2.urlopen(url)
str = response.read()
print str
baseUrl="https://wallstreetcn.com/live/global" #华尔街见文url
ws = WALLSTREET(baseUrl)
ws.get_html_content()
以上是代码,写的很简单,但是print出来的是乱码
尝试了 print str.decode(“utf-8“”)
但是报错
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
str = response.read()에는 두 가지 문제가 있습니다.
1. str은 내장 키워드이므로 다른 변수 이름으로 변경해야 합니다.
2. 웹페이지 소스 코드의 인코딩 방법을 확인하세요. utf- 8read() 뒤에 .decode('utf-8')를 추가하고, 그렇지 않으면 그에 따라 디코딩할 수 있습니다
이런 종류의 작은 프로그램을 위한 함수를 작성하는 것이 클래스를 사용하든 구현하든 관계없이 클래스를 사용하는 것보다 더 편리하다는 작은 제안이 있습니다.
숭고한 텍스트를 사용하고 계시나요?
참고
디코드가 아닌 인코딩이어야 하며 변수 이름은 실제로 내장 키워드 이름과 동일합니다
인코딩해야 합니다