python实现中文转换url编码的方法


Posted in Python onJune 14, 2016

本文实例讲述了python实现中文转换url编码的方法。分享给大家供大家参考,具体如下:

今天要处理百度贴吧的东西。想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了。但是添加到list里面是中文的情况(比如‘丽江'),url的地址编码却是'%E4%B8%BD%E6%B1%9F',因此需 要做一个转换。这里我们就用到了模块urllib。

>>> import urllib
>>> data = '丽江'
>>> print data
丽江
>>> data
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> urllib.quote(data)
'%E4%B8%BD%E6%B1%9F'

那我们想转回去呢?

>>> urllib.unquote('%E4%B8%BD%E6%B1%9F')
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')
丽江

细心的同学会发现贴吧url中出现的是%C0%F6%BD%AD,而非'%E4%B8%BD%E6%B1%9F',其实是编码问题。百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。

>>> import sys,urllib 
>>> s = '丽江'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))
'%C0%F6%BD%AD'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))
'%E4%B8%BD%E6%B1%9F'
>>>

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python入门之语句(if语句、while语句、for语句)
Jan 19 Python
Python 序列的方法总结
Oct 18 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python实现超简单的视频对象提取功能
Jun 04 Python
HTML的form表单和django的form表单
Jul 25 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 Python
Python实现生成bmp图像的方法
Jun 13 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 #Python
详解Python的Flask框架中的signals信号机制
Jun 13 #Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 #Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 #Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 #Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 #Python
浅谈python中的面向对象和类的基本语法
Jun 13 #Python
You might like
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
jQuery实现的简单拖动层示例
2017/02/22 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
python实现根据月份和日期得到星座的方法
2015/03/27 Python
python3设计模式之简单工厂模式
2017/10/17 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
如何教少儿学习Python编程
2020/07/10 Python
django中ImageField的使用详解
2020/12/21 Python
行政人事专员岗位职责
2014/03/05 职场文书
婚礼主持词
2014/03/13 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
办护照工作证明
2014/10/01 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
中小企业员工手册范本
2015/05/14 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Python 如何解决稀疏矩阵运算
2021/05/26 Python
总结Pyinstaller打包的高级用法
2021/06/28 Python
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android