English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Краткое руководство по常用 функциям urllib.parse в Python3 (urlencode, quote, quote_plus, unquote, unquote_plus и т.д.)

本文实例讲述了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, можно посмотреть темы на сайте: "Сводка навыков URL-операций Python", "Сводка навыков обработки изображений Python", "Учебник по структурам данных и алгоритмам Python", "Сводка навыков Socket-программирования Python", "Сводка навыков использования функций Python", "Обзор операций со строками Python", "Классические учебники по入门у и продвинутому изучению Python" и "Сводка навыков работы с файлами и директориями Python".

Надеюсь, что информация, изложенная в этой статье, поможет вам в разработке программ на Python.

Заявление: содержимое статьи взято из Интернета, авторские права принадлежат соответствующему автору, контент предоставлен пользователями Интернета, сайт не имеет права собственности, не был отредактирован вручную, не несет ответственности за соответствующие юридические последствия. Если вы обнаружите подозрительное нарушение авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @) для сообщения о нарушении,并提供 соответствующие доказательства. Если подтвердится, сайт немедленно удаляет涉嫌侵权的内容.

Основной учебник
Рекомендуем к просмотру