判断了字符集之后,如要显示中文,需要用print。示例如下:

import urllib2

import re

page = 1

url = 'http://www.qiushibaike.com/hot/page/' + str(page)

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'

headers = { 'User-Agent' : user_agent }

out_file = open ("qiushibaike.txt", "w")

request = urllib2.Request(url,headers = headers)

response = urllib2.urlopen(request)

buf=response.read()

out_file.write(buf)

out_file.close()

list_jpg=re.findall(r'http://.+\.jpg', buf)

list_joketxt=re.findall(r'<span>.+</span>', buf)


print buf #输出网页源文件,格式正确,中文显示正常

# list_jpg=re.findall(r'<img.+src=.+\.jpg', buf)

list_jpg=re.findall(r'http://.+\.jpg', buf)

list_joketxt=re.findall(r'<span>.+</span>', buf)

print list_joketxt #显示不正确,中文显示不正常

print list_joketxt[0]  #输出正确,中文显示正常

for jok in list_joketxt:

    print jok            #输出正确,中文显示正常