解决UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position
2024-10-19 16:42:24
最近用Python写了些爬虫,在爬取一个gb2312的页面时,抛出异常:
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 21-23: ordinal not in range(128)
解决方案如下:
首先设置系统的默认编码为utf-8:
- import sys
- reload(sys)
- sys.setdefaultencoding('utf-8')
然后将网页以gbk解码后转为utf-8:
- result = urllib2.urlopen(req).read()
- result = unicode(result,'GBK').encode('UTF-8')
之后就正常了。
最新文章
- Mac制作U盘系统(OS X El Capitan)教程
- boneCP原理研究
- Linux Bash代码 利用for循环实现命令的多次执行
- struts2拦截器拦截成功后每次请求都出现拦截时的错误信息
- shell中的比较语句
- Windows 右键添加「cmd 打开」
- 关于Azure Auto Scale的高级属性配置
- 微信iOS WKWebview 网页开发适配指南
- 随想录(移动app下的生活)
- PHP微信支付开发之扫描支付(模式二)后如何回调
- 关于mui选择器的使用
- APP的三种开发模式
- CNN解析和模型分析
- Spring Boot @EnableWebMvc 与 mvc 配置
- Zephyr学习(五)线程和调度
- 使用Pabot并行运行RF案例
- 跳转到页面的某个anchor
- HTML5 标签实例
- OC中Runtime浅析
- python 菜鸟入门
热门文章
- PID控制器开发笔记之四:梯形积分PID控制器的实现
- Confluence 6 配置 XSRF 保护
- Swift 中 insetBy(dx: CGFloat, dy: CGFloat) ->; CGRect 用法详解
- PDF文件如何标注,怎么使用PDF标注工具
- Advanced Wlan Attacks (RADIUS)
- 在一些开源框架中,dist文件夹是什么意思
- Java Insets获取窗口的顶、底、左、右的大小
- linux学习笔记之 basename, dirname
- spring cloud 自定义ribbon客户端
- xxl系列部署启动通用办法