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

为什么最后获得的output.html里面是这样的?

585a7b8a0001f38809920744.jpg代码运行没有错误,就是最后获得的html文件里面无法显示汉字,求解

正在回答

4 回答

class HtmlOutputer(object):
    def __init__(self):
        self.datas=[]
    
    def collect_data(self,data):
        if data is None:
            return
        self.datas.append(data)
        
    def output_html(self):
        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>")
        
        #ascii
        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("</table>")
        fout.write("</body>")
        fout.write("</html>")


0 回复 有任何疑惑可以回复我~

fout = open('output.html', 'w', encoding='utf-8')

就正常了

0 回复 有任何疑惑可以回复我~

python的编码,
‘\xbe\xea\xb6\xf9\xa3\xac\xce\xd2\xb0\xae\xc4\xe3\xa3\xa1’是ascii码,python不能将汉字的ascii编码直接输出汉字,需要转换成Unicode,然后用print输出。如果你有python2的话可以输入下列命令"print '\xbe\xea\xb6\xf9\xa3\xac\xce\xd2\xb0\xae\xc4\xe3\xa3\xa1'.decode('gbk')"

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

慕粉2341311704 提问者

fout.write("<td>%s</td>" % data['summary'].encode('utf-8')) 我这样不是转出的utf-8格式的吗,那应该可以正常显示啊
2016-12-22 回复 有任何疑惑可以回复我~

格式不对吧

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

慕粉2341311704 提问者

怎么不对呢?
2016-12-21 回复 有任何疑惑可以回复我~
#2

慕粉2341311704 提问者

怎么不对呢?
2016-12-21 回复 有任何疑惑可以回复我~
#3

qq_博行天下_04396621 回复 慕粉2341311704 提问者

这个直接保存,然后一些编辑器会用合适的编码打开的。比如在python的shell中, >>> x='\xd5\xdc\xd1\xa7\xc9\xe7\xbb\xe1\xd1\xa7\xd4\xba' >>> print x 哲学社会学院 >>> open("d:/xx.txt","wb").write(x) >>>
2016-12-21 回复 有任何疑惑可以回复我~
#4

qq_博行天下_04396621 回复 慕粉2341311704 提问者

字符不是ascii的时候就会出现这种
2016-12-21 回复 有任何疑惑可以回复我~
#5

慕粉2341311704 提问者 回复 qq_博行天下_04396621

fout.write("<td>%s</td>" % data['summary'].encode('utf-8')) 我这样不是转出的utf-8格式的吗,那应该可以正常显示啊
2016-12-22 回复 有任何疑惑可以回复我~
查看2条回复

举报

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

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

进入课程

为什么最后获得的output.html里面是这样的?

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