У меня есть огромный список URL-адресов со ссылками на продукты Amazon, в этих URL-адресах содержится нужная мне информация, которая называется номером ASIN.
Я понимаю, что это один из лучших способов извлечь эту информацию через Регулярные выражения , я нашел шаблон в URL, который может помочь
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 + Футболка + 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 & ключевые слова = Adidas + M% C3% A8lange + Tech + футболка + 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 & ключевые слова = Adidas + M% C3% A8lange + Tech + футболка + 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_ * 10 39 *
Я пробовал этот код:
asin = re.match("http[s]?://www.amazon.com(\w+)(.*)/(dp|gp/product)/(?P<asin>\w+).*", href, flags=re.IGNORECASE)
href - это переменная, в которой я хранил URL-адреса
Но хорошо ... Это работает не совсем хорошо Это тип результата, который я получаю:
<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>
Спасибо за вашу помощь