2014-05-16 18 views
18

Czy można zbudować adres URL przy użyciu biblioteki Pytań dla Pythona?Tworzenie adresu URL przy użyciu modułu Żądania Python

Tworzenie ciągu zapytania jest obsługiwane, ale co z budowaniem reszty adresu URL. Konkretnie byłbym zainteresowany dodając do podstawowego adresu URL z URL zakodowane ciągi:

http: // niektóre address.com/api/[term]/

termin = 'To jest test'

http: // niektóre address.com/api/This+is+a+test/

jest to prawdopodobnie możliwe przy użyciu urllib ale wydaje się, że lepiej byłoby w żądaniach. Czy ta funkcja istnieje? Jeśli nie, to jest dobry powód, że nie powinien?

Odpowiedz

29

requests jest w zasadzie wygodnym otokiem około urllib (oraz 2,3 i innymi powiązanymi bibliotekami).

Można importować urljoin(), quote() z requests.compat, ale to essentially the same jak wykorzystując je bezpośrednio od urllib i urlparse modułów:

>>> from requests.compat import urljoin, quote_plus 
>>> url = "http://some-address.com/api/" 
>>> term = 'This is a test' 
>>> urljoin(url, quote_plus(term)) 
'http://some-address.com/api/This+is+a+test' 
+7

Lubię 'requests.compat.urljoin' ponieważ działa zarówno w Pythonie 2 i 3. –

+0

niezbyt inteligentny stolarz, ale nadal działa – Addy

Powiązane problemy