python 采集中文乱码问题的完美解决方法

yipeiwu_com7年前Python基础

近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录

1. 在正常情况下..可以用

import chardet

thischarset = chardet.detect(strs)["encoding"]

来获取该文件或页面的编码方式

或直接抓取页面的charset = xxxx 来获取

2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理.

strs = strs.decode("UTF-8","ignore").encode("UTF-8")

decode的第二个参数表示遇到非法字符时所采取的方式

该参数默认为抛出异常.

以上就是小编为大家带来的python 采集中文乱码问题的完美解决方法的全部内容了,希望对大家有所帮助,多多支持【听图阁-专注于Python设计】~

相关文章

python获取文件扩展名的方法

本文实例讲述了python获取文件扩展名的方法。分享给大家供大家参考。具体实现方法如下: import os.path def file_extension(path): r...

VSCode下好用的Python插件及配置

VSCode下好用的Python插件及配置

MS Python插件。 这是微软官方的Python插件,已经自带很多功能。下面是插件功能描述,其中部分内容我做了翻译。 a)     ...

Python中取整的几种方法小结

前言 对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整等等。下面就...

利用python3随机生成中文字符的实现方法

前言 运行环境在Python3.6下,Python2的解决方案网上有很多.,想学习python2实现的朋友们可以参考这篇文章:/post/34884.htm,下面来一起看看详细的介绍吧。...

Python3解决棋盘覆盖问题的方法示例

Python3解决棋盘覆盖问题的方法示例

本文实例讲述了Python3解决棋盘覆盖问题的方法。分享给大家供大家参考,具体如下: 问题描述: 在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上...