首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amazon Affiliate Link Builder python脚本崩溃?

Amazon Affiliate Link Builder python脚本崩溃?
EN

Stack Overflow用户
提问于 2019-10-15 23:55:10
回答 1查看 91关注 0票数 0

我真的很奇怪为什么有时候我的python脚本会崩溃。

代码语言:javascript
复制
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

我真的希望你们能帮助我!非常感谢

EN

回答 1

Stack Overflow用户

发布于 2019-10-16 00:11:31

我认为编写一个exception base code是一件很痛苦的事情

您的输入可能不包含'/dp/‘、'/product/’或'/offer-listing/‘中的任何一个,这就造成了问题

我会试着这样做:

代码语言:javascript
复制
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 = link
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58398555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档