python使用 urllib.unquote乱码的原因
实际问题
Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%E6%B3%95%E5%9B%BD%E7%BA%A2%E9%85%92”解码后会转换成“法国红酒”,但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码“法国红é
”。
#取得kw
kw = self.url.split('&')[-1].replace('kw=', '')
#url解码
word = urllib.unquote(kw)
kw的值打印出来的显示的是:%E5%A4%A7%E6%B4%B2%E5%8F%A4%E6%B8%A1
但是word确是:大洲å¤æ¸¡
分析
直接编码的字符来处理看看是否会出现乱码:%E5%A4%A7%E6%B4%B2%E5%8F%A4%E6%B8%A1
#取得kw
kw = “%E5%A4%A7%E6%B4%B2%E5%8F%A4%E6%B8%A1”
#url解码
word = urllib.unquote(kw)
发现没有问题word正常显示
那就是在取值kw的时候有问题
发现函数默认返回的是值的类型是unicode
相当于u“%E5%A4%A7%E6%B4%B2%E5%8F%A4%E6%B8%A1”
解决办法
在函数调用之后,使用强制类型转换转为str类型,去掉u
#取得kw
kw = self.url.split('&')[-1].replace('kw=', '')
kw = str(kw)
#url解码
word = urllib.unquote(kw)
这样就能正常解码了
- PS Unicode类型转str类型,不能使用str()强制转换,而是使用strr.encode(‘utf-8’)编码转换
python使用 urllib.unquote乱码的原因相关推荐
- Python:urllib与urllib2错误解析
原文地址: http://www.zhenv5.com/?p=398 首先说一下我用的Python版本是2.7.1,等换了新主机就用最新的3.1版本, 现在先将就着学习Python的基本知识. 悲 ...
- python php 通信,Python和php通信乱码问题解决方法
Python和php通信乱码问题解决方法 发布于 2014-07-29 22:28:21 | 118 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...
- python3urllib中的quote与encode的区别_Python的urllib.quote()和urllib.unquote()的等效Javascript函数...
好吧,我想我要用一组混合的自定义函数: Encode:使用encodeURIComponent(),然后将斜杠放回. 解码:解码找到的任何%hex值. 下面是我最终使用的更完整的变体(它也能正确处理U ...
- python idea控制台中文乱码_python 解决cv2绘制中文乱码问题
python 解决cv2绘制中文乱码问题 因为使用cv2.putText() 只能显示英文字符,中文会出现乱码问题, 因此使用PIL在图片上绘制添加中文,可以指定字体文件. 大体思路: OpenCV图 ...
- python爬虫-urllib模块
urllib 模块是一个高级的 web 交流库,其核心功能就是模仿web浏览器等客户端,去请求相应的资源,并返回一个类文件对象.urllib 支持各种 web 协议,例如:HTTP.FTP.Gophe ...
- python抓取网站乱码_如何使用Python抓取网站
python抓取网站乱码 by Devanshu Jain 由Devanshu Jain It is that time of the year when the air is filled with ...
- python模块—urllib
1. 网页操作 urllib.urlopen(url[,data[,proxies]]) 打开一个url,返回一个文件对象,然后可以进行类似文件对象操作 url:远程数据的路径,即网址 data:表示 ...
- urllib.unquote()
urllib.unquote() - [python] 字符串被当作url提交时会被自动进行url编码处理,在python里也有个urllib.urlencode的方法,可以很方便的把字典形式的参数进 ...
- Cookie登录爬取实战:Python 利用urllib库的cookie实现网站登录并抓取
1 环境:Python 3 +urllib库 实战网站:http://www.mjzcnd.com/ 梅江之春论坛网站 2 背景: 现在许多网站都需要登录后才能访问某个页面,在登陆之前,我们是没有权 ...
- python爬虫 - Urllib库及cookie的使用
lz提示一点,python3中urllib包括了py2中的urllib+urllib2.[python2和python3的区别.转换及共存 - urllib] 怎样扒网页? 其实就是根据URL来获取它 ...
最新文章
- python脚本下载sentinel数据_Python API sentinelsat下载错误
- 刷新系统托盘(清除死掉的图标)修正版
- 根据字符串选择类并完成类的初始化--方法二
- Debug shell: Syntax error: “(“ unexpected
- 理解javascript闭包
- boost pool内存池库使用简要介绍
- java集合多个最大值_Java 8 Stream 求集合元素每个属性的最大值
- 奥拉星插件flash下载手机版下载安装_奥拉星游戏插件
- android 结束if循环_几款Android反编译器对循环结构的还原能力测试记录
- Docker 集群环境实现的新方式
- 题目1111:单词替换
- 使用IDEA生成DOC文档
- 苹果 2017 秋季产品发布会直播预告
- Kafka 核心原理(贼全面)
- Navicat Premium 16安装方法
- solr搜索服务的使用
- [数据结构]数据结构简介和顺序表
- Mac快捷键大全(常用的可以修改)
- CSI SAP2000 v22详细安装教程(图文安装步骤)
- 数算实习+数算 机考总结……