解决Python下使用pip安装Builtwith模块字符解析错误的问题
最近在自学Python写网络爬虫,需要用pip安装builtwith模块。这是一个可以检测网站构建技术类型的工具。但是在安装时候出现了UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb4 in position 7: ordinal not in range(128)’的错误。简单来看,就是编码格式出来问题,ascii没有办法解码一些特殊字符。
上图:
解决的办法:参考了这篇文章[解决unicodedecodeerror ascii codec can’t decode byte 0xd7 in position 9 ordinal not in range(128)]。(http://www.ttlsa.com/python/solve-unicodedecodeerror-ascii-codec-can-not-decode-byte-0xd7-in-position-9-ordinal-not-in-range/)
首先要找到Python路径下的Lib文件夹的mimetypes.py文件。但是这篇文章给的代码语法有错。应该改为:
try:
sys.getdefaultencoding()!='gbk'
reload(sys)
sys.setdefaultencoding('gbk')
import _winreg
except ImportError:
_winreg = None
我首先尝试了utf-8的编码,但是还是出错,同样的错误。换成gbk编码就可以了。