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

使用pycharm时输出结果在浏览器上访问时现实乱码

我是使用pycharm进行爬虫的,输出结果在pycharm里浏览是显示正常的中文,但是在用chrom浏览器打开访问却显示乱码,这是什么原因?

正在回答

7 回答

浏览器里选择utf-8模式看看  我用mac起初也是乱码 后来在浏览器里修改了一下编码格式就好了

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

慕先生8099376

的确是这样,老铁
2018-01-18 回复 有任何疑惑可以回复我~

方法有效,只不过显示跟上面朋友的图一样,不美观

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

用google chrome浏览器貌似不是乱码,但是不太美观,现在看来中文乱码的问题应该是浏览器的原因,和代码没关系

http://img1.sycdn.imooc.com//5926748000010e2414400773.jpg

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

我也是遇到了,代码也加了

fout.write("<td>%s</td>" % data['title'].encode('utf-8'))
fout.write("<td>%s</td>" % data['summary'].encode('utf-8'))

不过貌似360浏览器看中文都是乱码

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

我也遇到了这个问题,很好解决。你们可以看一下任何一个网站的源码 例如本网站

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用pycharm时输出结果在浏览器上访问时现实乱码..._慕课问答</title>

他会有这一句句话  <meta charset="utf-8">
这就是 html 编码的约束 。

所以在 html_outputer.py  的这句话

for date in self.datas:

前面 添加

fout.write("<meta charset='utf-8'>")

output_html() 方法应为:

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


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

我也遇到一样的问题,解决了吗

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

是不是在输出部分 没有加入 utf-8的代码啊?

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

举报

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

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

进入课程

使用pycharm时输出结果在浏览器上访问时现实乱码

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