一、获取url参数

①解析url(urlparse)

from urllib import parse

url = 'http://ccforever/get_page?page=1&index=1'

b = parse.urlparse(url)

print(b)

结果为:

ParseResult(scheme='http', netloc='ccforever', path='/get_page', params='', query='page=1&index=1', fragment='')

②获取query参数(parse_qs)

a.直接获取query

print(b.query)

结果为:

page=1&index=1

==================================================================================

b.解析query参数

c = parse.parse_qs(b.query)

print(c)

结果为:

{'page': ['1'], 'index': ['1']}

==================================================================================

注意:当query参数中有 ‘ + ’ 的时候,会被解码,并不是我们想要的

例:

d = parse.parse_qs('page=7464ssfa18f46+78dasf&index=2')

print(d)

结果为:

{'page': ['7464ssfa18f46 78dasf'], 'index': ['2']}

二、编码成url参数(urlencode)

from urllib import parse

url_dict = {

'name': 'AlanWalker',

'page': 1,

'index': 1

}

f = urllib.parse.urlencode(url_dict)

print(f)

结果为:

name=AlanWalker&page=1&index=1

注意:此函数会将空格自动编码成 ‘+’号

from urllib import parse

url_dict = {

'name': 'Alan Walker', 此处中间多了空格

'page': 1,

'index': 1

}

f = urllib.parse.urlencode(url_dict)

print(f)

结果为:

name=Alan+Walker&page=1&index=1 结果处中间的空格变成了‘+’

三、(编码)quote/quote_plus

①quote

from urllib import parse

url = 'http://ccforever/get_page++?*-&%$#@!'

g = parse.quote(url)

print(g)

结果为:

http%3A//ccforever/get_page%2B%2B%3F%2A-%26%25%24%23%40%21 编码除斜线 ‘/’外所有符号

②quote_plus

from urllib import parse

url = 'http://ccforever/get_page++?*-&%$#@!'

g = parse.quote_plus(url)

print(g)

结果为:

http%3A%2F%2Fccforever%2Fget_page%2B%2B%3F%2A-%26%25%24%23%40%21 编码包括斜线 ‘/’的所有符号

四、(解码)unquote/unquote_plus

①unquote

from urllib import parse

url = 'http://ccforever/get_page++?'

g = parse.unquote(url)

print(g)

结果为:

http://ccforever/get_page++? 此处未解码 ‘+’号

②unquote_plus

from urllib import parse

url = 'http://ccforever/get_page++?'

g = parse.unquote_plus(url)

print(g)

结果为:

http://ccforever/get_page ? 此处将 ‘+’号解码为空格

python urllib.parse_Python3的urllib.parse常用函数小结相关推荐

  1. python parse函数_Python3的urllib.parse常用函数小结

    本文实例讲述了Python3的urllib.parse常用函数.分享给大家供大家参考,具体如下: 1.获取url参数 >>> from urllib import parse > ...

  2. Python3的urllib.parse常用函数小结

    2019独角兽企业重金招聘Python工程师标准>>> 1.获取url参数 from urllib import parseurl = 'https://docs.python.or ...

  3. MATLAB中的常用函数小结

    1. MATLAB中的常用函数小结 文章目录 1. MATLAB中的常用函数小结 1. MATLAB图像处理工具箱 1.1 图像显示 1.2 图像文件输入/输出 1.3. 图像像素值及其统计 1.4 ...

  4. python学习笔记-day2-dict,tuple, string常用函数

    上一篇说了Python的list的基本方法,这里接着说说dict,tuple. 一.tuple,元组 1.元组的定义 或: 2.使用切片访问元组里的元素 详细的可以参考list的切片用法 3.元组是不 ...

  5. [Python] numpy库的简介和常用函数

    参考博客之一Python之Numpy详细教程 其中简介和对象出自该博客. 该博客中介绍的函数,本人并未采用,因为有些确实不太常用. 常用的函数我放在下面单独开了一章. numpy简介 numpy 是一 ...

  6. [转载] python数学计算模块之math常用函数学习使用

    参考链接: Python中的分数模块Fraction 因为最近经常使用到math模块中的常用函数,但是又记不住所有的函数名称,在今天结束之前花一点时间总结一下吧,很多都用过,只有几个角度计算函数不常用 ...

  7. python数据分析 - numpy | ndarray数组 | numpy常用函数

    文章目录 数据分析 numpy概述 numpy历史 numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的创 ...

  8. 【pickle】详解python中的pickle模块(常用函数、示例)

    1.序列化.反序列化介绍 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 2.pickle模块说明 python中的pickle模块实现 ...

  9. Python 的列表运算和列表常用函数

    Python 的列表运算和常用函数 1. 列表的运算 1.1 列表相加 1.2. 列表相乘 1.3. None.空列表和初始化 1.4. 列表的比较 1.5. 运算符 in 2. 列表的常用函数 1. ...

最新文章

  1. Xamarin XAML语言教程使用使用Progress属性设置当前进度
  2. java和python根据对象某一个属性排序
  3. JDBC中Statement与PreparedStatement的区别
  4. java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别
  5. ibm量子计算机科学家,重磅!IBM发布全球首个独立商用量子计算机
  6. 简述ospf的工作原理_现代数字存储示波器的工作原理简述
  7. 进程串行变并行linux,linux进程简述
  8. 【转载】DNN6开源CMS
  9. NVIDIA的python-GPU算法生态 ︱ RAPIDS 0.10
  10. 童年黑科技图鉴:从 50 后到 00 后,从纸片到智能
  11. 【Python】使用torrentParser1.02对单文件torrent的分析结果
  12. Linux基础——Web(三)Nginx反向代理2
  13. 第五课 大数据技术之Fink1.13的实战学习-状态编程和容错机制
  14. 高斯定理的证明(三重积分的C/C++实现)(C++)(大学物理)
  15. java 叠加层_java简单设置图层实现图片叠加
  16. K2P设置为桥接路由器教程
  17. android ADB 模拟手机点击事件
  18. Ubuntu18.04安装win7虚拟机
  19. 共享充电线项目市场分析报告
  20. 学习笔记——spring5概念和原理

热门文章

  1. 拉普拉斯分布_理解拉普拉斯特征映射中的优化问题的约束条件
  2. LeetCode从读题到自闭:204. 计数质数
  3. 该设备或资源(Web 代理)未设置为接受端口1080上的连接
  4. tshark/wireshark/tcpdump实战笔记(更新中...)
  5. FFmpeg之获取音视频信息(二十八)
  6. Mac下ndk交叉编译arm平台程序
  7. Android objdump/nm/readelf使用
  8. C++初始化参数列表对成员函数初始化
  9. 最简单判断系统大小端
  10. SpringBoot之项目实践一