您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页抓取的网页内容是gb2312,转换为utf-8

抓取的网页内容是gb2312,转换为utf-8

来源:二三娱乐

有的网页是gb2312编码,则需要将response.body判断编码,并解码

    #检查编码
    def check_encoding(self,response):
        import chardet
        #
        #detect传入的是bytes
        # 返回{'confidence': 0.99, 'encoding': 'GB2312'}
        # 'encoding': 'utf-8'
        encoding_info = chardet.detect(response.body)
        encoding = encoding_info.get('encoding')
        #非utf-8则解码
        if encoding != 'utf-8':
            # 如果是gb2312,则用gbk来解码,gbk可以解码繁体字以及日文假文等,解码更强
            if encoding.lower()=='gb2312':
                encoding = 'gbk'
            new_body = response.body.decode(encoding)
            #替换原来的body内容
            response = response.replace(body=new_body)

        return response

解决方法:使用gbk,代替gb2312,例如:u_string = unicode(string , "gbk")

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务