码迷,mamicode.com
首页 > Web开发 > 详细

爬虫网页编码问题解决思路

时间:2016-02-28 01:11:58      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:encode   python   import   网页   

用python抓取网页,很容易遇到例如:‘utf8‘ codec can‘t decode byte 0xc5 类似的编码的问题。

这里提供几种排查思路:

  1. 可以先查看你的Linux系统是不是UTF-8。如果不是的话可以修改:

    echo $LANG

    export LANG=en_US.UTF8


  2. 首先python2默认所有编码统一是unicode,因此你可以在代码前面加入

    #-*-coding:utf-8 -*-
  3. 网页的编码可能为gbk,可以把gbk先decode,在统一encode为utf-8。

    response = response.decode(‘gbk‘,‘ignore‘).encode(‘utf-8‘)
  4. 也可以利用import chardet先做判断

    encoding_dict = chardet.detect(response)
    web_encoding = encoding_dict[‘encoding‘]
    if web_encoding == ‘utf-8‘ or web_encoding == ‘UTF-8‘:
      html = response
    else :
       html = response.decode(‘gbk‘,‘ignore‘).encode(‘utf-8‘)

我遇到的问题就解决了,如果有其他情况,我会继续补充,欢迎指正




本文出自 “新手PS欢迎交流” 博客,请务必保留此出处http://linpeisong.blog.51cto.com/9601554/1745578

爬虫网页编码问题解决思路

标签:encode   python   import   网页   

原文地址:http://linpeisong.blog.51cto.com/9601554/1745578

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!