判断了字符集之后,如要显示中文,需要用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 #输出正确,中文显示正常