python requests乱码解决方案

来源:互联网 发布:淘宝网登陆页面 编辑:程序博客网 时间:2024/04/23 21:49

在使用requests获取网页源代码之后:

from bs4 import BeautifulSoupimport requestsurl="http://www.diareagent.com/"r=requests.get(url=url)r.encoding='utf-8'print(r.text[:300])

运行出现错误:

UnicodeEncodeError: 'gbk' codec can't encode character '\ufeff' in position 0: illegal multibyte sequence

这错误来的莫名其妙,我明明已经把编码方式修改成了utf-8,而且网站明明也是utf-8,为什么会出现使用gbk无法编码/ufeff。哪里来的gbk,

经过查阅资料发现之所以这样是因为python在cmd环境下print是使用的是gbk的编码方式进行输出,所以需要更改默认IO输出:

from bs4 import BeautifulSoupimport requestsimport ioimport syssys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码url="http://www.diareagent.com/"r=requests.get(url=url)r.encoding='utf-8'print(r.encoding)print(r.text[:300])

值得注意的是,只有在windows cmd状态下的时候IO输出使用的编码是gbk。linux下默认是utf-8



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 转业军人档案和身份证不符怎么办 转业军人个人资被单位遗失怎么办 空军飞行学员停飞后怎么办 2020年不脱贫的农户怎么办 马自达8停产后配件怎么办 钢铁雄心3没将领怎么办 江苏低于二本线怎么办 电工证快过期了怎么办 天正建筑打不开高版本的图纸怎么办 打开天正只显示cad怎么办 天正软件显示过期了怎么办 四岁宝宝经常吐怎么办 穿越火线登陆不上去怎么办 猫猫呕吐带血怎么办 狗又吐又拉稀怎么办 狗狗肠炎拉血怎么办 拉大便有血怎么办呢 工作中遇到不公待遇怎么办 老兵丢了退伍证怎么办 我的退伍证丢了怎么办 退伍证丢了怎么办啊 银行卡更换之前的卡号怎么办 收到联通欠费催款律师函怎么办 苹果5s玩王者卡怎么办 电信宽带包年用户欠费怎么办 员工不处理考勤异常怎么办 移动号码特殊原因强制停机怎么办 下雨天我怎么办我好想你 免检标志领晚了怎么办 激光点太田痣揉搓了泛红怎么办 花束与衣服颜色相称怎么办 吃鸡狙击枪距离怎么办 环世界敌人炸墙怎么办 水阀断在墙里面怎么办 内陷螺丝扣秃了怎么办 五菱仪表盘不亮怎么办 瞒着老婆欠了钱怎么办 m8螺丝牙距孔距差一个毫米怎么办 内丝弯头坏了怎么办 螺纹底孔打大了怎么办 内螺纹止规过了怎么办