美文网首页
Python爬虫过程中出现中文解码出现乱码的现象

Python爬虫过程中出现中文解码出现乱码的现象

作者: 新星_知了 | 来源:发表于2019-01-01 07:17 被阅读0次

    诸如类似的代码:

    ……

    texts = bs.find_all('div',class='content_element').p.text.strip()

         print(texts)

    ……

    搜索的内容中有中文的情况下,python包BeautifulSoup解码网页的时候默认应该是使用了gbk进行编码

    通过此代码可以看出

    ……

    r=requests.get(link,headers=headers)

    Print(r.encoding)

    ……

    可以显示编码格式为iso-8859-1

    因此我在代码中定义的headers中没有说明网页头文件中的编码格式,以下图片为非标准格式浏览器头部文件

    一般标准的头部文件格式:

       

    《HTTP权威指南》里第16章国际化里提到,如果HTTP响应中Content-Type字段没有指定charset,则默认页面是'ISO-8859-1'编码。这处理英文页面当然没有问题,但是中文页面,就会有乱码了!

    前面已经说明如何查看当前编码格式的方法,下面就说一下遇见此类问题该如何进行解决和纠正

    首先因为使用的查看IDE中使用的解码格式是utf-8的,之前网页中默认使用的编码格式也是utf-8的,所以我们必须将其解码成utf-8格式的字符才能正常显示中文

    使用之前的代码进行此操作:

    texts = bs.find_all('div',class='content_element').p.text.strip().encode(‘iso-8859-1’).decode(‘utf-8’)

         print(texts)

    或者在之前进行encoding=‘utf-8’解码修正

    ……

    r=requests.get(link,headers=headers)

    r=encoding=’utf-8’

    print(r.encoding)

    ……

    参考网站:

       https://www.cnblogs.com/ccsx/p/8572735.html

       https://www.cnblogs.com/surecheun/p/9694052.html

       https://www.cnblogs.com/bw13/p/6549248.html

    相关文章

      网友评论

          本文标题:Python爬虫过程中出现中文解码出现乱码的现象

          本文链接:https://www.haomeiwen.com/subject/gvnglqtx.html