Vorrei aggiungere il nome dello schema 'http' davanti a una stringa di url data se manca. Altrimenti, lascia l'url da solo, quindi ho pensato che urlparse fosse il modo giusto per farlo. Ma ogni volta che non ci sono schemi e io uso get url, ottengo /// invece di "//" tra lo schema e il dominio.urlparse.urlparse restituisce 3 '/' anziché 2 dopo lo schema
>>> t = urlparse.urlparse('www.example.com', 'http')
>>> t.geturl()
'http:///www.example.com' # three ///
Come faccio a convertire questo URL in modo che si presenta come:
'http://www.example.com' # two //
Vedo. Avevo l'impressione che l'analisi dell'URL avrebbe determinato in modo intelligente la mancanza di uno schema e ricostruirlo meglio. Risolto il problema semplicemente controllando se la stringa url inizia con "http: //" e aggiungendola di conseguenza. –
@Dan Holman mi aspettavo anche quello, ma se ci pensi, non puoi davvero aspettartelo. Perché "images/tick.png" si riferisce a un percorso relativo, non a un URL completo. Come può urlparse distinguere tra questo e "www.example.com"? Solo perché * sembra * come un nome di dominio non significa che non sia un percorso valido. – mgiuca