我真的很奇怪为什么有时候我的python脚本会崩溃。
def returnAmazonLink(link):
if 'amazon.de' in link:
art, tracking_id, endung = 'amazon-ref.de', 'myID', '.de'
elif 'amazon.co.uk' in link:
art, tracking_id, endung = 'amazon-ref.co.uk', 'myID', '.co.uk'
elif 'amazon.es' in link:
art, tracking_id, endung = 'amazon-ref.es', 'myID', '.es'
elif 'amazon.fr' in link:
art, tracking_id, endung = 'amazon-ref.fr', 'myID', '.fr'
elif 'amazon.it' in link:
art, tracking_id, endung = 'amazon-ref.it', 'myID', '.it'
else:
art = 'amazon-ERROR'
offer_link = link
return offer_link, art
try:
split_a = link.split('/dp/')
asin = split_a[1][0:10]
offer_link = 'https://www.amazon'+ endung +'/dp/' + asin + '/?tag=' + tracking_id
except:
try:
split_b = link.split('/product/')
asin = split_b[1][0:10]
offer_link = 'https://www.amazon'+ endung+'/gp/product/' + asin + '/?tag=' + tracking_id
except:
split_c = link.split('/offer-listing/')
asin = split_c[1][0:10]
offer_link = 'https://www.amazon'+ endung +'/gp/offer-listing/' + asin + '/?tag=' + tracking_id
return offer_link, art我希望在调用像returnAmazonLink这样的方法时获得亚马逊会员url
示例输入可以是:https://www.amazon.de/Marshall-Tufton-Tragbarer-Lautsprecher-Schwarz/dp/B07PZCRG6X?pf_rd_p=fd924cef-3db6-4a05-a84c-ae526862ddd8&pd_rd_wg=2ga3n&pf_rd_r=T28M0D83M3NG8JJVX04K&ref_=pd_gw_cr_simh&pd_rd_w=NmDeI&pd_rd_r=3974ee63-3d1d-4b9e-b536-b5bd73e18b3f
它只是有时会崩溃。并不是一直都这样。我认为问题出在try catches上,因为这在出现的错误消息中也有说明。
但它向我显示了错误,正如您在图像中看到的那样。enter image description here
我真的希望你们能帮助我!非常感谢
发布于 2019-10-16 00:11:31
我认为编写一个exception base code是一件很痛苦的事情
您的输入可能不包含'/dp/‘、'/product/’或'/offer-listing/‘中的任何一个,这就造成了问题
我会试着这样做:
if '/dp/' in link:
split_a = link.split('/dp/')
asin = split_a[1][0:10]
offer_link = 'https://www.amazon'+ endung +'/dp/' + asin + '/?tag=' + tracking_id
elif '/product/' in link:
split_b = link.split('/product/')
asin = split_b[1][0:10]
offer_link = 'https://www.amazon'+ endung+'/gp/product/' + asin + '/?tag=' + tracking_id
elif '/offer-listing/' in link:
split_c = link.split('/offer-listing/')
asin = split_c[1][0:10]
offer_link = 'https://www.amazon'+ endung +'/gp/offer-listing/' + asin + '/?tag=' + tracking_id
else:
print('There was an error! check this link:')
print(link)
art = 'amazon-ERROR'
offer_link = linkhttps://stackoverflow.com/questions/58398555
复制相似问题