Python URL解析:从某个文件夹获取N个文件夹,后跟文件名

Python URL解析:从某个文件夹获取N个文件夹,后跟文件名,python,regex,urlparse,Python,Regex,Urlparse,我有一个URL,它可以有任意数量的文件夹,并且以filename.extension结尾 例如: https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg 在/V879798版本折叠后,我尝试获取所有内容,因此: images/profile/oaz4wkjkjsbzxa3xlkmu.jpg 我已经尝试了以下几种方法,但没有任何效果,因为我知道我很可能需要一个正则表达

我有一个URL,它可以有任意数量的文件夹,并且以filename.extension结尾

例如:

https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
在/V879798版本折叠后,我尝试获取所有内容,因此:

images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
我已经尝试了以下几种方法,但没有任何效果,因为我知道我很可能需要一个正则表达式,但我对它们的了解还不允许我构造这样的方法。我尝试过的一些方法有:

import os
from urllib.parse import urlparse
# url https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
parsed_url = urlparse(url)
# parsed_url.path /lang-code/image/upload/v1601568948/images/profile
path = os.path.dirname(parsed_url.path)
# file_name oaz4wkjkjsbzxa3xlkmu.jpg
file_name = os.path.basename()
但到目前为止,还没有任何有效的方法。任何帮助都将不胜感激

编辑: 对不起,我忘了提及我所说的N个文件夹的意思是,以下URL中的任何一个都是可能的:

https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg

https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg

https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg
使用正则表达式模式-->
r“v\d++\/(.+)$”
。假设随机数以
v开始

Ex:

import re
from urllib.parse import urlparse

ptrn = re.compile(r"v\d+\/(.+)$")
url = "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg"
parsed_url = urlparse(url)
print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
ptrn = re.compile(r"v\d+\/(.+)$")
urls = ["https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg",
       "https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg"]

for url in urls:
    parsed_url = urlparse(url)
    print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/oaz4wkjkjsbzxa3xlkmu.jpg
oaz4wkjkjsbzxa3xlkmu.jpg
输出:

import re
from urllib.parse import urlparse

ptrn = re.compile(r"v\d+\/(.+)$")
url = "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg"
parsed_url = urlparse(url)
print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
ptrn = re.compile(r"v\d+\/(.+)$")
urls = ["https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg",
       "https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg"]

for url in urls:
    parsed_url = urlparse(url)
    print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/oaz4wkjkjsbzxa3xlkmu.jpg
oaz4wkjkjsbzxa3xlkmu.jpg
演示:

import re
from urllib.parse import urlparse

ptrn = re.compile(r"v\d+\/(.+)$")
url = "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg"
parsed_url = urlparse(url)
print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
ptrn = re.compile(r"v\d+\/(.+)$")
urls = ["https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg",
       "https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg"]

for url in urls:
    parsed_url = urlparse(url)
    print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/oaz4wkjkjsbzxa3xlkmu.jpg
oaz4wkjkjsbzxa3xlkmu.jpg
输出:

import re
from urllib.parse import urlparse

ptrn = re.compile(r"v\d+\/(.+)$")
url = "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg"
parsed_url = urlparse(url)
print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
ptrn = re.compile(r"v\d+\/(.+)$")
urls = ["https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg",
       "https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg"]

for url in urls:
    parsed_url = urlparse(url)
    print(ptrn.search(parsed_url.path).group(1))
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/profile/oaz4wkjkjsbzxa3xlkmu.jpg
images/oaz4wkjkjsbzxa3xlkmu.jpg
oaz4wkjkjsbzxa3xlkmu.jpg