[英]How to extract some text from a url in Python
我试图让python从URL字符串中提取一些文本。
这是URL示例https://somewebsite/images/products/SkuName/genricFileName.jpg
SkuName总是在第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名称(位于变量“名称”下)
我希望用户仅输入一个输入(URL),python会自动从URL字符串中提取SKUName
谢谢!
如果您确定URL中名称的(绝对)位置不会改变,那么url.split('/')[5]
应该可以解决您的问题。
如果该格式是固定的,则可以拆分URL并从结果列表中访问倒数第二个元素:
url = "https://somewebsite/images/products/SkuName/genricFileName.jpg"
skuName = url.split("/")[-2]
您可以使用python regex做到这一点。 注意:根据您的网址更改模式
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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.