为了账号安全,请及时绑定邮箱和手机立即绑定

使用utf-8还是乱码

output

   def output_html(self):
        fout=open('output.html','w')
        
        fout.write("<html>")
        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'].encode('utf-8'))
#             fout.write("<td>$s</td>"%data['summary'].encode("utf-8"))
            fout.write("</tr>")
        fout.write("</table>")
        fout.write("</body>")
        fout.write("</html>")
        fout.close()


输出结果

<html><body><table<tr><td>b'Python'</td><td>$s</td></tr><tr><td>b'MySQLdb'</td><td>$s</td></tr><tr><td>b'\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7\xa8\x8b\xe5\xba\x8f\xe8\xae\xbe\xe8\xae\xa1\xe8\xaf\xad\xe8\xa8\x80'</td><td>$s</td></tr><tr><td>b'PyGTK'</td><td>$s</td></tr><tr><td>b'HTML'</td><td>$s</td></tr><tr><td>b'\xe6\xba\x90\xe6\x96\x87\xe4\xbb\xb6'</td><td>$s</td></tr><tr><td>b'\xe6\xad\xa3\xe6\x96\x87'</td><td>$s</td></tr><tr><td>b'M-net'</td><td>$s</td></tr><tr><td>b'Haskell'</td><td>$s</td></tr></table></body></html>

正在回答

1 回答

我使用的是python3,根据实际调试发现此处不需要用encode('utf-8'),但是fout = open('output.html', 'w', encoding='utf-8')要把encoding参数加上,因为在windows下默认编码是gbk,忽略次参数会产生错误。

4 回复 有任何疑惑可以回复我~
#1

scylhy 提问者

谢谢,我就是不知道改怎么处理这个编码问题。改了编辑器的编码也不行。但是output输出正常。
2016-02-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

使用utf-8还是乱码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信