Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

urlparse(url, scheme='', allow_fragments=1)

Поиск

quote_plus(s, safe='')

 

Функция экранирует некоторые символы вURL (в строке запроса),чтобы их можно было отправлять наweb-сервер.Аналогична quote(),но заменяет пробелы на плюсы.

 

unquote(s)

 

Преобразование,обратное quote_plus().Пример:

 

>>> urllib.unquote('a%20%3D%20b%20%2B%20c') 'a = b + c'

 

unquote_plus(s)

 

Преобразование,обратное quote_plus().Пример:

 

>>> urllib.unquote_plus('a+=+b+%2B+c') 'a = b + c'

 

Для анализаURLможно использовать функции из модуля urlparse:

 

urlparse(url, scheme='', allow_fragments=1)


 

 


РазбираетURLв6компонентов(сохраняя экранирование символов):scheme://netloc/path;params?query#frag

 

urlsplit(url, scheme='', allow_fragments=1)

 

РазбираетURLв6компонентов(сохраняя экранирование символов):scheme://netloc/path?query#frag

 

urlunparse((scheme, netloc, url, params, query, fragment))

 

СобираетURLиз6компонентов.

 

urlunsplit((scheme, netloc, url, query, fragment))

 

СобираетURLиз5компонентов.

 

Пример:

 

>>> from urlparse import urlsplit, urlunsplit

>>> URL = "http://google.com/search?q=Python"

>>> print urlsplit(URL)

('http', 'google.com', '/search', 'q=Python', '')

>>> print urlunsplit(

 

... ('http', 'google.com', '/search', 'q=Python', '')) http://google.com/search?q=Python

 

Еще одна функция того же модуля urlparse позволяет корректно соединить две частиURL

 

- базовую и относительную:

 

>>> import urlparse

>>> urlparse.urljoin('http://python.onego.ru', 'itertools.html') 'http://python.onego.ru/itertools.html'

 

Возможности urllib2

 

Функциональности модулей urllib и urlparse хватает для большинства задач,которые

 

решают сценарии наPythonкакweb-клиенты.Тем не менее,иногда требуется больше.На этот случай можно использовать модуль для работы с протоколомHTTP -httplib-и

 

создать собственный класс дляHTTP-запросов(в лекциях модуль httplib не рассматривается).Однако вполне вероятно,что нужная функциональность уже имеется в модуле urllib2.

 

Одна из полезных возможностей этих модулей-доступ кweb-объектам,требующий авторизации.Ниже будет рассмотрен пример,который не только обеспечит доступ с авторизацией,но и обозначит основную идею модуля urllib2: использование обработчиков(handlers),каждый из которых решает узкую специфическую задачу.

 

Следующий пример показывает,как создать собственный открывательURLс помощью модуля urllib2(этот пример взят из документации поPython):

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 6; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.242.149 (0.006 с.)