Я должен извлечь название марки, модель и иногда уровень комплектации автомобилей, найденных на сайте. Проблема в том, что когда я помещаю две группы в свое регулярное выражение, у меня нет доступа к третьему элементу (уровень комплектации автомобиля), а когда я помещаю три группы в свое регулярное выражение, я ничего не получаю от автомобилей без уровней отделки салона.
<a href="https://XXX.ir/car/bmw/x4">بیامو ایکس ۴ </a>
<a href="https://XXX.ir/car/peugeot/405/glx">پژو ۴۰۵ جیالایکس</a>
my_regex_1 = r'https:\/\/XXX\.ir\/car\/(.+)\/(.+)\/(.+)'
my_regex_2 = r'https:\/\/XXX\.ir\/car\/(.+)\/(.+)\/'
Мой код:
import requests
from bs4 import BeautifulSoup
import re
mainpage = requests.get('https://bama.ir/')
soup = BeautifulSoup(mainpage.text, 'html.parser')
brands = soup.find_all('a')
infos = []
for item in brands:
link = item['href']
info = re.findall(r'https:\/\/bama\.ir\/car\/([^\/]+?)\/([^\/]+?)(?:\/([^"]+))?', link)
infos.append(info)
print(infos)