如何在Python中从url中提取一些文本

2024-10-03 23:19:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让python从URL字符串中提取一些文本。你知道吗

下面是URLhttps://somewebsite/images/products/SkuName/genricFileName.jpg的示例

SKU名称总是在第5个“/”之后,在第6个“/”之前结束

我想提取“SkuName”

import urllib.request

images = input('please enter url list separated by ","')
names = input('please enter images names separated by ","')

images = images.split(',')
names =  names.split(',')

for index, image in enumerate(images):
    urllib.request.urlretrieve(image, "images/{}.jpg".format(names[index])) 
print('images downloaded successfully')   

如您所见,用户必须手动输入SKU名称(在变量“names”下)

我希望用户只输入一个输入(URL),python会自动从URL字符串中提取SKUName

谢谢!你知道吗


Tags: 字符串名称urlinputbynamesrequesturllib
3条回答

如果该格式为fix,则可以拆分url并访问结果列表中的最后一个元素:

url = "https://somewebsite/images/products/SkuName/genricFileName.jpg"
skuName = url.split("/")[-2]

您可以使用python正则表达式来完成。 注意:根据您的url更改模式

import re
url = 'https://somewebsite/images/products/SkuName/genricFileName.jpg'
pattern = re.compile(r'(?<=(https://somewebsite/images/products/)).*(?=/genricFileName.jpg)', re.I)
sku_name = pattern.search(url).group()

如果您确定名称在URL中的(绝对)位置不会改变,那么url.split('/')[5]应该可以解决您的问题。你知道吗

相关问题 更多 >