>>> 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')
丽江

不同的编码格式对urllib的结果页是有影响的,百度的是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'
>>>

这里的 sys.stdin.encoding 是读取当前环境的编码,这样写的话可移植性高,winnt和xunix都可以用。当然你如果看不惯,也可以替换为自己的环境编码如utf8等。

转载于:https://www.cnblogs.com/xuxm2007/archive/2010/11/16/1878507.html

python urllib编码相关推荐

  1. pythonurllib模块-Python urllib模块 网络资源访问安装下载

    urllib是Python标准库最为常用的一个python网络应用资源访问的模块了,它可以让你像访问本地文本文件一样,读取网页的内容. Python urllib的作用是访问一些不需要验证的网络资源和 ...

  2. python字符编码在哪里_快速入手Python字符编码

    前言 对于很多接触python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命 ...

  3. python urllib dns 缓存_新手用Python做一个网页爬虫

    咱们好哈,最近博主在学习Python,学习时期也遇到一些问题,获得了一些经历,在此将自个的学习体系地整理下来,假如咱们有爱好学习爬虫的话,能够将这些文章作为参阅,也期待咱们总共同享学习经历. 首要py ...

  4. 人工智能python怎么念_5分钟战胜人工智能+Python字符编码

    1. 本文不谈复杂的理论,就经验教你字符处理八字真言:确定编码,同类交互. 2. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命令即可. 3. 了解 ...

  5. linux python urllib,Python urllib

    Python urllib Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理. 本文主要介绍 Python3 的 urllib. urllib 包 包含以下几个模块: u ...

  6. python 字符编码问题

    字符编码 一.字符编码的演进 ASCII GB2312    GBK1.0    GB18030 Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言.跨平台 ...

  7. Python字符编码详解

    Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...

  8. Python urllib和urllib2模块学习(一)

    (参考资料:现代魔法学院 http://www.nowamagic.net/academy/detail/1302803) Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用 ...

  9. python字符编码是什么_python3字符编码是什么?怎么用?

    最近一直讲的是python基础方面的知识,小编一直在考虑要不要加大难度.这个问题犹豫了很久,怕一些python小白不能很好的接受知识点.但是最近小编收到不少小伙伴的强烈要求,想要学习编码这个模块的知识 ...

最新文章

  1. Python培训班适合哪些人报名学习
  2. angular 模板
  3. MYSQL BENCHMARK函数的使用
  4. java knn文本分类算法_使用KNN算法的文本分类.PDF
  5. linux的nice命令用法,nice命令详解
  6. POS Tagging 标签类型查询表(Penn Treebank Project)
  7. 高考有算计算机会考分数吗,高三冲刺,模拟考分数与高考分数会有差别吗?差多少分才算正常...
  8. 多线程NSInvocationOperation(NSOperationQueue)的基本用法
  9. 查看php是否支持sg11,云虚拟主机支持SG11扩展
  10. opencv3.0 截取任意形状封闭图形
  11. 量产光伏离网并网逆变器设计资料(TMS320F28335) 这个是单项的 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构
  12. Python骚操作,让图片上的人物动起来!
  13. java毕业设计物业管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  14. 用html做相册需要什么,如何快速有效的生成HTML相册?
  15. 中科院广州电子CASAIM与东风日产在3D打印生产制造发动机检具及治具应用研究项目顺利落地
  16. MFC -- ShowWindow(int nCmdShow)参数总结
  17. 关于@NotNull和@NotBlank的问题
  18. 10 个有用的 Python 字符串函数你必须知道
  19. 「传统的互联网模式」呈现的是粗放式的,野蛮生长的状态
  20. Helm部署rancher 高可用集群

热门文章

  1. 我的世界java致命错误_《我的世界》六个“致命错误”,最后一个“不作死就不会死”...
  2. centos6.8yum安装mysql_centos6.8 yum安装mysql 5.6 (完整)
  3. matlab 贝塞尔曲线,matlab实现贝塞尔曲线绘图pdf查看
  4. 【计算机组成原理】存储系统综合实验
  5. DNS服务器的基本工作
  6. Mysql短连接风暴
  7. 【进阶3-4期】深度解析bind原理、使用场景及模拟实现
  8. Java配置分离之Spring远程配置
  9. 云栖科技评论世界杯特刊:俄罗斯世界杯,新技术再一次升级内容产业
  10. Ansible之roles使用