Python 剥离URL的某些部分并保存文件

Python 剥离URL的某些部分并保存文件,python,Python,我不需要最后的/ref=zg\u bsms\u shoes\u 2 我在URL=[] http://amz.com/New-Balance-WT910-Trail-Running/dp/B0098FOFCW/ref=zg_bsms_shoes_2 怎么脱掉它?如果我没有/ref=,也有一个失败证明 我强烈建议您从urlparse开始: for productlink in products: self.urls.append(productlink) def save(self):

我不需要最后的
/ref=zg\u bsms\u shoes\u 2

我在
URL=[]

http://amz.com/New-Balance-WT910-Trail-Running/dp/B0098FOFCW/ref=zg_bsms_shoes_2

怎么脱掉它?如果我没有/ref=,也有一个失败证明

我强烈建议您从
urlparse
开始:

for productlink in products:
    self.urls.append(productlink)

def save(self):
    self.br.quit()
    f=open(self.product_file,"w")
    for url in self.urls:
        f.write(url+"\n")
        f.flush()
在python3中:

if 'ref' in url.split('/')[-1]: #Failsafe
    url = '/'.join(url.split('/')[:-1]
urlparse
将URL转换为其所有组件,然后您可以通过多种方式使用路径,如简单的字符串拆分、
os.path.split
、正则表达式等


在Python2中,只需从URLPRASE导入URLPRASE中使用
,我强烈建议您从
URLPRASE
开始:

在python3中:

if 'ref' in url.split('/')[-1]: #Failsafe
    url = '/'.join(url.split('/')[:-1]
urlparse
将URL转换为其所有组件,然后您可以通过多种方式使用路径,如简单的字符串拆分、
os.path.split
、正则表达式等


在Python2中,只需使用URLPRASE导入URLPRASE中的

您可以使用正则表达式来去除它。@IdleMind我认为url.replace是更好的选择较少的资源:)但我仍然不确定如何正确执行。我是Python新手,您可以使用正则表达式来去除它。@IdleMind我认为url.replace是更好的选择较少的资源:)但我仍然不知道如何正确地执行此操作,因为我对python“/”还不熟悉。join(x.split(“/”)[:-1])可能是preferable@Guy你能解释一下吗?那么:
”的场景呢http://amz.com/New-Balance-WT910-Trail-Running/dp/B0098FOFCW/结尾处的“
”/”[:6]将只从列表中获取前6个元素,将始终返回而不返回最后一个
/
您是否询问如何添加它?@Guy奇怪,但在products:'/'中为productlink尝试了
。join(productlink.split('/'))[:6])self.url.append(productlink)
对于products:x='/')中的productlink似乎不起作用。join(productlink.split('/')[:6])self.url.append(x)
'/')。join(x.split('/')[:-1])可能不起作用preferable@Guy你能解释一下吗?以下场景如何:
'http://amz.com/New-Balance-WT910-Trail-Running/dp/B0098FOFCW/结尾处的“
”/”[:6]将只从列表中获取前6个元素,将始终返回而不返回最后一个
/
您是否询问如何添加它?@Guy奇怪,但在products:'/'中为productlink尝试了
。join(productlink.split('/'))[:6])self.url.append(productlink)
似乎对产品中的productlink:x='/'.join(productlink.split('/'))[:6])self.url.append(x)a[-1]#数组中的最后一项a[:-1]#除了self.url中url的最后一项
之外的所有内容:如果url.split('/')中的“ref”[1]:#Failsafe url='/'.join(url.split('/')[:-1]f.write(url+“\n”)f.flush()
f.write(url+“\n”)^SyntaxError:无效语法
知道为什么吗?在哪一行和哪一个字符下^a[-1]#数组中的最后一项a[:-1]#除了self.url中url的最后一项
:如果url.split('/')[-1]中的'ref',:#故障保护url='/'.join(url.split('/')[:-1]f.write(url+“\n”)f.flush()
f.write(url+“\n”)^SyntaxError:无效语法
知道为什么吗?确切地说,^?
>>> import os
>>> from urllib.parse import urlparse
>>> os.path.split(urlparse(url).path)[0]
'/New-Balance-WT910-Trail-Running/dp/B0098FOFCW'