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

Python3的urllib.parse常用函数小结

urllib.parse模块是Python的一个重要的URL解析器,其中包含了许多常用的函数,例如urlencode、quote、unquote、quote_plus、unquote_plus等。这些函数能够帮助我们解析URL,加密URL内容,或者将URL转换为可读的内容。

urlencode

urlencode函数可以将一个字典类型的参数转换成url格式的参数,常用于构建get请求的参数。下面是一个urlencode的例子:

import urllib.parse

params = {'name': '张三', 'age': 18, 'sex': '男'}
query_string = urllib.parse.urlencode(params)
print(query_string)

输出结果为:

name=%E5%BC%A0%E4%B8%89&age=18&sex=%E7%94%B7

可以看到urlencode将字典类型的参数转换成了URL格式的参数。

quote

quote函数可以将URL中的特殊字符进行编码,比如中文等,使得它们可以安全地在URL中传递。这个函数有一个可选参数safe,可以指定一些字符不进行编码。下面是一个quote函数的例子:

import urllib.parse

url = 'https://www.example.com/?name=张三&age=18'
encoded_url = urllib.parse.quote(url, safe='/:?=&')
print(encoded_url)

输出结果为:

https://www.example.com/?name=%E5%BC%A0%E4%B8%89&age=18

可以看到中文部分被进行了编码,但是“/”,“?”等字符没有被编码。

unquote

unquote函数可以将URL中的编码字符解码成为原字符,与quote函数相反。下面是一个decode函数的例子:

import urllib.parse

encoded_url = 'https://www.example.com/?name=%E5%BC%A0%E4%B8%89&age=18'
url = urllib.parse.unquote(encoded_url)
print(url)

输出结果为:

https://www.example.com/?name=张三&age=18

可以看到之前编码的中文字符被解码成了原字符。

quote_plus

quote_plus函数可以将URL中的空格和特殊字符进行编码。同样可以通过safe参数指定不进行编码的字符。下面是一个quote_plus的例子:

import urllib.parse

url = 'https://www.example.com/?name=张三 年龄=18'
encoded_url = urllib.parse.quote_plus(url, safe='/:?=&')
print(encoded_url)

输出结果为:

https%3A%2F%2Fwww.example.com%2F%3Fname%3D%E5%BC%A0%E4%B8%89+%E5%B9%B4%E9%BE%84%3D18

可以看到空格、中文等被进行了编码。

unquote_plus

unquote_plus函数与quote_plus函数相反,将编码后的字符解码成为原字符。下面是一个unquote_plus的例子:

import urllib.parse

encoded_url = 'https%3A%2F%2Fwww.example.com%2F%3Fname%3D%E5%BC%A0%E4%B8%89+%E5%B9%B4%E9%BE%84%3D18'
url = urllib.parse.unquote_plus(encoded_url)
print(url)

输出结果为:

https://www.example.com/?name=张三 年龄=18

可以看到编码的字符已经被成功解码。

以上是Python3中urllib.parse模块常用的urlencode、quote、unquote、quote_plus、unquote_plus函数的介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等) - Python技术站

(1)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Win7 64位下python3.6.5安装配置图文教程

    以下是Win764位下Python3.6.5的安装配置图文教程: 1. 下载安装包 首先,你需要从官网下载Python3.6.5的安装包,链接如下: https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe 下载完成后,双击安装包,选择“Add Python 3.6 to PATH”,然后一…

    python 2023年5月14日
    00
  • python实现将字符串中的数字提取出来然后求和

    如何使用Python将字符串中的数字提取出来并求和?这是一个常见的问题。下面是一个处理字符串中数字的Python示例程序: import re str1 = "a1b2c3d4" # 利用正则表达式查找数字 pattern = re.compile(r’\d+’) result = pattern.findall(str1) # 将查找到…

    python 2023年6月5日
    00
  • Python中的wordcloud库安装问题及解决方法

    下面我来分享一下“Python中的wordcloud库安装问题及解决方法”的完整攻略。 问题描述 在使用Python中的wordcloud库时,由于各种原因(网络问题、系统环境等)可能会出现无法安装wordcloud库的情况,导致无法使用该库进行词云生成等操作。 解决方法 1. 安装前置依赖 在安装wordcloud库之前,需要先安装一些前置依赖库,如num…

    python 2023年5月20日
    00
  • python 如何实现跳过异常继续执行

    在Python中,我们可以使用try-except语句来处理异常。当程序遇到异常时,try-except语句可以捕获异常并执行相应的操作。有时候,我们希望在遇到异常时跳过异常并继续执行程序。以下是实现跳过异常继续执行的完整攻略: 1. 使用try-except语句 在Python中,我们可以使用try-except语句来处理异常。当程序遇到异常时,try-e…

    python 2023年5月13日
    00
  • Python执行时间的计算方法小结

    Python执行时间的计算方法小结 在Python中,我们可以通过多种方式计算代码执行的时间,本文将对其中几种常见的方法进行总结,并通过示例代码进行说明。 time模块计时 time模块是Python标准库中专门用于时间处理的模块,其中包含多种函数可供获取时间、计算时间差等操作。我们可以通过使用time模块来计算代码执行的时间。 代码示例: import t…

    python 2023年6月2日
    00
  • Python面向对象多态实现原理及代码实例

    Python 面向对象多态是指通过不同的对象调用同一方法,可以得到不同的结果。其实现原理是利用 Python 自带的鸭子类型和多重继承技术。 鸭子类型 在 Python 中,一个类的类型不由该类本身决定,而是由该类所包含的方法和属性决定。如果一个对象拥有某个方法,那么它就符合该方法的实现规则。 例如: class Duck: def sound(self):…

    python 2023年6月6日
    00
  • Python import与from import使用和区别解读

    下面就是Python中import与from import使用和区别解读的完整攻略。 什么是Python中的import语句? 在Python中,为了实现代码的复用,我们通常会将一些常用或自定义的函数/类存储在一个文件中,这个文件就是模块(module)。而Python中的import语句可以将其他的模块导入到我们的代码中,从而使我们可以使用其中的函数/类。…

    python 2023年6月3日
    00
  • Python实现随机生成算术题的示例代码

    关于“Python实现随机生成算术题的示例代码”的完整攻略,我将分为以下几个部分进行详细讲解: 实现思路 代码实现 示例说明 注意事项 1. 实现思路 要实现随机生成算术题的代码,可以考虑使用Python的随机数生成模块——random,具体实现思路如下: 首先,需要为你想要生成的算术题目设定相应的条件(例如运算符、数字范围等),将这些条件存储至变量中。 定…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部