gpt4 book ai didi

python - 从 URL、RE、python 中提取 Amzon ASIN

转载 作者:行者123 更新时间:2023-12-01 06:32:02 24 4
gpt4 key购买 nike

我有一个巨大的网址列表,其中包含指向亚马逊产品的链接,该网址包含我需要的信息,称为 ASIN 编号。

我知道提取该信息的最佳方法之一是通过正则表达式,我在网址中发现了一种可以提供帮助的模式

1- https://www.amazon.com/adidas-Melange-Performance-T-Shirt-Charcoal/dp/B07P4LVZNL/ref=sr_1_fkmr1_2?dchild=1&keywords=Adidas+M%C3%A8lange+Tech+T-Shirt+A372&qid=1579685244&sr=8-2-fkmr1

2- https://www.amazon.com/adidas-Originals-Solid-Melange-Purple/dp/B07DXPN7TK/ref=sr_1_fkmr2_1?dchild=1&keywords=Adidas+M%C3%A8lange+Tech+T-Shirt+A372&qid=1579685244&sr=8-1-fkmr2

3- https://www.amazon.com/adidas-Game-Mode-Polo-Multi-Sport/gp/B07R23QGH6/ref=sr_1_fkmr2_2?dchild=1&keywords=Adidas+M%C3%A8lange+Tech+T-Shirt+A372&qid=1579685244&sr=8-2-fkmr2

相应的 ASIN 编号为:

1- B07P4LVZNL,位于:dp/B07P4LVZNL/ref=sr_1_f

2- B07DXPN7TK,位于:dp/B07DXPN7TK/ref=sr_1_fkmr2_

3- B07R23QGH6,位于:gp/B07R23QGH6/ref=sr_1_fkmr2_

我尝试了这段代码:

asin = re.match("http[s]?://www.amazon.com(\w+)(.*)/(dp|gp/product)/(?P<asin>\w+).*", href, flags=re.IGNORECASE)

href 是我存储网址的变量

但是......它效果不太好,这是我得到的结果类型:

<re.Match object; span=(0, 175), match='https://www.amazon.com/adidas-Originals-Solid-Mel>
<re.Match object; span=(0, 171), match='https://www.amazon.com/adidas-Game-Mode-Polo-Mult>
<re.Match object; span=(0, 167), match='https://www.amazon.com/adidas-Tech-Tee-Black-X-La>

感谢您的帮助

最佳答案

我建议使用

/[dg]p/([^/]+)

它匹配 /dp//gp/,然后将 / 之外的任何一个或多个字符捕获到第 1 组中。

请参阅regex demo 。在 Python :

asin = re.search(r'/[dg]p/([^/]+)', href, flags=re.IGNORECASE)
if asin:
print(asin.group(1))

关于python - 从 URL、RE、python 中提取 Amzon ASIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59857225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com