Python - Construindo URLs
O módulo de solicitações pode nos ajudar a construir o URLS e manipular o valor do URL dinamicamente. Qualquer subdiretório do URL pode ser buscado programaticamente e, em seguida, alguma parte dele pode ser substituído por novos valores para construir novos URLs.
Build_URL
O exemplo abaixo usa urljoinpara buscar as diferentes subpastas no caminho do URL. O método urljoin é usado para adicionar novos valores ao URL base.
from requests.compat import urljoin
base='https://stackoverflow.com/questions/3764291'
print urljoin(base,'.')
print urljoin(base,'..')
print urljoin(base,'...')
print urljoin(base,'/3764299/')
url_query = urljoin(base,'?vers=1.0')
print url_query
url_sec = urljoin(url_query,'#section-5.4')
print url_sec
Quando executamos o programa acima, obtemos a seguinte saída -
https://stackoverflow.com/questions/
https://stackoverflow.com/
https://stackoverflow.com/questions/...
https://stackoverflow.com/3764299/
https://stackoverflow.com/questions/3764291?vers=1.0
https://stackoverflow.com/questions/3764291?vers=1.0#section-5.4
Divida os URLS
Os URLs também podem ser divididos em muitas partes além do endereço principal. Os parâmetros adicionais que são usados para uma consulta específica ou tags anexadas ao URL são separados usando o método urlparse conforme mostrado abaixo.
from requests.compat import urlparse
url1 = 'https://docs.python.org/2/py-modindex.html#cap-f'
url2='https://docs.python.org/2/search.html?q=urlparse'
print urlparse(url1)
print urlparse(url2)
Quando executamos o programa acima, obtemos a seguinte saída -
ParseResult(scheme='https', netloc='docs.python.org', path='/2/py-modindex.html', params='', query='', fragment='cap-f')
ParseResult(scheme='https', netloc='docs.python.org', path='/2/search.html', params='', query='q=urlparse', fragment='')