shidenggui / easyhistory

用于获取维护股票的历史数据
161 stars 124 forks source link

'gbk' codec can't decode byte 0x8e in position 38: illegal multibyte sequence'gbk' codec can't decode byte 0x8e in position 38 #17

Closed thm1118 closed 7 years ago

thm1118 commented 8 years ago

这其实不是easyhistory的错,是request包 内会读取本地用户目录的 .netrc或 _netrc文件内用户名和密码,试图自动完成网站认证过程,但是这个文件是utf8编码的,默认使用当前系统编码gbk去读取,就产生错误,在request项目内,关于 netrce的 issure一大堆,其中 option to disable .netrc #2773

我现在暂时解决办法是,主动传入用户和密码,这样就不会读取netrc文件了,诸如: dom = PyQuery(url, auth=('user', 'pass')) rep = requests.get(url, params, timeout=3, headers=headers, auth=('user', 'pass'))

官方似乎推荐设置 trust_env=false 来解决

shidenggui commented 7 years ago

easyhistory 放弃对 sina 数据的维护了