做了个简单爬虫,将信息保存到一个.html文件里,通过浏览器打开,其中关于中文乱码没头绪搞了一下午,自我总结一下。
效果:
代码:
fout = open('output.html', 'w', encoding='utf-8')
fout.write('<html>')
fout.write('<head>')
fout.write('<meta charset="utf-8">')
fout.write('</head>')
fout.write('<body>')
fout.write('<table>')
for data in self.datas:
fout.write('<tr>')
fout.write('<td>%s</td>' % data['url'])
fout.write('<td>%s</td>' % data['title'])
fout.write('<td>%s</td>' % data['summary'])
fout.write('</tr>')
fout.write('</table>')
fout.write('</body>')
fout.write('</html>')
fout.close()
其中需要确定格式为utf-8,可能的添加位置有三处:
fout = open('output.html', 'w', encoding='utf-8')
fout.write('<meta charset="utf-8">')
fout.write('<td>%s</td>' % data['title'].encode('utf-8'))
但实际上这样才能得到正确的输出
fout = open('output.html', 'w', encoding='utf-8')
fout.write('<meta charset="utf-8">')
fout.write('<td>%s</td>' % data['title'])
不然要么得到的都是些字节类型数据,要么就是一堆乱码。