Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)


Posted in Python onSeptember 18, 2016

本文实例讲述了Python3的urllib.parse常用函数。分享给大家供大家参考,具体如下:

1、获取url参数

>>> from urllib import parse
>>> url = r'https://docs.python.org/3.5/search.html?q=parse&check_keywords=yes&area=default'
>>> parseResult = parse.urlparse(url)
>>> parseResult
ParseResult(scheme='https', netloc='docs.python.org', path='/3.5/search.html', params='', query='q=parse&check_keywords=yes&area=default', fragment='')
>>> param_dict = parse.parse_qs(parseResult.query)
>>> param_dict
{'q': ['parse'], 'check_keywords': ['yes'], 'area': ['default']}
>>> q = param_dict['q'][0]
>>> q
'parse'
#注意:加号会被解码,可能有时并不是我们想要的
>>> parse.parse_qs('proxy=183.222.102.178:8080&task=XXXXX|5-3+2')
{'proxy': ['183.222.102.178:8080'], 'task': ['XXXXX|5-3 2']}

2、urlencode

>>> from urllib import parse
>>> query = {
  'name': 'walker',
  'age': 99,
  }
>>> parse.urlencode(query)
'name=walker&age=99'

3、quote/quote_plus

>>> from urllib import parse
>>> parse.quote('a&b/c')  #未编码斜线
'a%26b/c'
>>> parse.quote_plus('a&b/c')  #编码了斜线
'a%26b%2Fc'

4、unquote/unquote_plus

from urllib import parse
>>> parse.unquote('1+2')  #不解码加号
'1+2'
>>> parse.unquote('1+2')  #把加号解码为空格
'1 2'

如果你还想问为什么没有urldecode——再把示例1看五遍。^_^

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

Python 相关文章推荐
Python简单进程锁代码实例
Apr 27 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python字符串中的单双引
Feb 16 Python
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
python脚本替换指定行实现步骤
Jul 11 Python
python人民币小写转大写辅助工具
Jun 20 Python
python 与服务器的共享文件夹交互方法
Dec 27 Python
Python实现京东秒杀功能代码
May 16 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
Python基于pillow判断图片完整性的方法
Sep 18 #Python
Django返回json数据用法示例
Sep 18 #Python
Python中list初始化方法示例
Sep 18 #Python
Python提取网页中超链接的方法
Sep 18 #Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 #Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 #Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 #Python
You might like
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
php将html转为图片的实现方法
2017/05/19 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
JavaScript this 深入理解
2009/07/30 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
py中的目录与文件判别代码
2008/07/16 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
Django 再谈一谈json序列化
2020/03/16 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
数字漫画:comiXology
2020/06/13 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
本科生职业生涯规划书范文
2014/01/21 职场文书
学校校庆演讲稿
2014/05/22 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript