zoukankan      html  css  js  c++  java
  • Python网页爬虫之中文乱码

    Python是个好工具,但是也有其固有的一些缺点。最近在学习网页爬虫时就遇到了这样一种问题,中文网站爬取下来的内容往往中文显示乱码。看过我之前博客的同学可能知道,之前爬取的一个学校网页就出现了这个问题,但是当时并没有解决,这着实成了我一个心病。这不,刚刚一解决就将这个方法公布与众,大家一同分享。

    首先,我说一下Python中文乱码的原因,Python中文乱码是由于Python在解析网页时默认用Unicode去解析,而大多数网站是utf-8格式的,并且解析出来之后,python竟然再以Unicode字符格式输出,会与系统编码格式不同,导致中文输出乱码,知道原因后我们就好解决了。下面上代码,实验对象仍是被人上了无数遍的百度主页~

    # -*- coding: utf-8 -*-
    
    import urllib2
    import re
    import requests
    import sys
    
    import urllib
    #设置编码
    reload(sys)
    sys.setdefaultencoding('utf-8')
    #获得系统编码格式
    type = sys.getfilesystemencoding()
    r = urllib.urlopen("http://www.baidu.com")
    #将网页以utf-8格式解析然后转换为系统默认格式
    a = r.read().decode('utf-8').encode(type)
    print a

    最后输出效果,中文完美输出

  • 相关阅读:
    http简记
    socket简介
    iOS代理
    ai作图小技能
    按钮切换
    关于ie8背景图片的平铺
    关于文本省略
    关于html table样式
    阿里巴巴iconfont使用方法(超级详细)
    办公电脑安装虚拟机基本就绪
  • 原文地址:https://www.cnblogs.com/Toring/p/6628274.html
Copyright © 2011-2022 走看看