Python - Creazione di URL
Il modulo delle richieste può aiutarci a creare gli URL e a manipolare il valore dell'URL in modo dinamico. Qualsiasi sottodirectory dell'URL può essere recuperata a livello di codice e quindi una parte di essa può essere sostituita con nuovi valori per creare nuovi URL.
Build_URL
L'esempio seguente utilizza urljoinper recuperare le diverse sottocartelle nel percorso dell'URL. Il metodo urljoin viene utilizzato per aggiungere nuovi valori all'URL di 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 eseguiamo il programma sopra, otteniamo il seguente output:
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
Dividi gli URL
Gli URL possono anche essere suddivisi in molte parti oltre all'indirizzo principale. I parametri aggiuntivi utilizzati per una query specifica o tag allegati all'URL vengono separati utilizzando il metodo urlparse come mostrato di seguito.
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 eseguiamo il programma sopra, otteniamo il seguente output:
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='')