Как получить (текущий URL-адрес + строка запроса), используя код Python с urllib2? - PullRequest
3 голосов
/ 23 февраля 2011

Мне нужно прочитать текущий URL со строкой запроса, которую я использовал?

Означает, что мне нужно получить адрес текущей адресной строки браузера ..

Ответы [ 2 ]

4 голосов
/ 23 февраля 2011

Объект urllib2.Request предоставляет метод geturl(), который возвращает полный URL-адрес запроса.Затем вы можете передать его в urlparse.urlparse(), который разбивает URL-адрес на шесть компонентов каждого URL-адреса.Затем вы можете получить доступ к части запроса через атрибут query.

Пример:

>>> from urllib2 import urlopen
>>> from urlparse import urlparse
>>> req = urlopen('http://capitalfm.com/?foo=bar')
>>> req.geturl()
'http://www.capitalfm.com/?foo=bar'
>>> url = urlparse(req.geturl())
>>> url.query
'foo=bar'
0 голосов
/ 09 января 2017

Предположительно, если вы используете urllib2, у вас уже есть удобный URL.Чтобы извлечь строку запроса из URL, вы можете использовать удобную функцию urlparse в Python 2 (функция была перемещена в другой модуль в Python 3).

>>> from urlparse import urlparse, parse_qs
>>> url = 'www.example.com/file.php?id=2'
>>> urlparse("www.example.com/file.php?id=2").query
'id=2'
>>> 
...