2016-06-01 12 views
2

Also muss ich einen Weg Dateinamen aus dem öffentlichen Dropbox URLs zu extrahieren, ohne die API zu verwenden, habe ich festgestellt, dass alle Sharing Links in Dropbox wie dies gemacht werden:Wie in diesem Fall einen Teil einer URL zu extrahieren?

dropbox.com/s/{random alphanemucric string}/{file name} 

Zum Beispiel habe ich auf diesen Link:

https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0 

Wie kann ich das „Checkliste% 281% 29.pdf“ Teil von dieser uRL zu extrahieren, ich habe keine Ahnung, wie ich meinen Regex dies zu extrahieren machen würde.

+1

'random_string, Dateiname = URL.split ("/") [- 2:]' Prehaps? –

Antwort

1

Sie können wie folgt vorgehen:

>>> name = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0' 
>>> name.split('/')[-1].split('?')[0] 
'checklist%281%29.pdf' 

Die split("/")[-1] nimmt alles nach der letzte Schrägstrich, und die split('?')[0] entfernt Parameter, falls vorhanden.

2

Verwenden urlparse.urlsplit,

import os 
import urlparse 

url = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0' 

path = urlparse.urlsplit(url).path # /s/sbyuft7zscqzgbs/checklist%281%29.pdf 
filename = os.path.basename(path) # checklist%281%29.pdf 

vorherige Antwort,

import os 

url = 'https://www.dropbox.com/s/sbyuft7zscqzgbs/checklist%281%29.pdf?dl=0' 
filename = os.path.basename(url).replace('?dl=0', '') 

print(filename) # Output: checklist%281%29.pdf 
Verwandte Themen