Как извлечь имя файла из URL и добавить к нему дополнительные данные? - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь извлечь имя файла из URL-адреса для загрузки, который не только заканчивается самим именем файла, но к URL-адресу добавляются дополнительные данные после имени файла https://some_website.com/folder/file_name.mkv?st=OyvPiQZL8HmbCkapHo-tLg&e=1571543844

Я попытался использовать ОС. path.basename в питоне. Он включает в себя имя файла и сам дополнительный контент, например, приведенную выше ссылку: return

file_name.mkv? St = OyvPiQZL8HmbCkapHo-tLg & e = 1571543844

вместо

file_name.mkv

Ответы [ 2 ]

0 голосов
/ 19 октября 2019
urld = 'https://ragex.eu/home.html?lol=sdasd'
returned_data = urld[urld.rfind('/') + 1: len(urld)]
print(returned_data) #output : home.html?lol=sdasd

Ну, я не эксперт, но вот гораздо более простой способ.

0 голосов
/ 19 октября 2019

Может быть,

[^/]+(?=\?st)

может работать нормально.

Тест

import re
string = ' https://some_website.com/folder/file_name.mkv?st=OyvPiQZL8HmbCkapHo-tLg&e=1571543844'
expression = r'[^/]+(?=\?st)'

print(re.search(expression, string).group(0))

Выход

file_name.mkv

Если вы хотитечтобы упростить / изменить / изучить выражение, это было объяснено на верхней правой панели regex101.com . Если хотите, вы также можете посмотреть в эту ссылку , как она будет сопоставляться с некоторыми примерами ввода.


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...