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

爬出来的页面内容显示这种乱码似的文字是怎么回事啊?求教!谢谢!

http://img1.sycdn.imooc.com//56f355e70001f2b214160438.jpg

就是这种,该怎么办呢?

正在回答

4 回答

def output_html(self):
        fout=open('output.html','w',encoding="utf-8")
        
        fout.write("<html>")
        fout.write("<body>")
        
        fout.write("<head>")
        fout.write('<meta charset="utf-8">')
        fout.write("</head>")
        
        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()

试一下这样吧

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

green_apple7 提问者

谢谢!不过,还是不行。。。
2016-03-25 回复 有任何疑惑可以回复我~
#2

us4ever 回复 green_apple7 提问者

我去掉 fout.write("<head>") fout.write('<meta charset="utf-8">') fout.write("</head>") 就会变成跟你一样的乱码,应该就是编码的问题,看看html_parser.py这一句soup=BeautifulSoup(html_cont,'html.parser',from_encoding='utf-8')用的是不是utf-8 不行就换换浏览器
2016-03-25 回复 有任何疑惑可以回复我~
#3

green_apple7 提问者 回复 us4ever

谢谢你!我的问题解决了,是在<html>后面加上utf-8就好了。非常感谢你!fout.write("<html><meta charset=\"utf-8\" />")
2016-03-26 回复 有任何疑惑可以回复我~

谢谢你!我的问题解决了,是在<html>后面加上utf-8就好了。非常感谢你!fout.write("<html><meta charset=\"utf-8\" />")

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

没有转换编码格式吧,默认是标准编码,需要转换为utf-8

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

green_apple7 提问者

你好!请问具体该怎么做呢?开头有注释,output里也像老师那样写了fout.write("<td>%s</td>"%data['title'].encode('utf-8')),还需要再做什么呢?
2016-03-24 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

爬出来的页面内容显示这种乱码似的文字是怎么回事啊?求教!谢谢!

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