Парсинг AUTO.RIA. Почемуто цикл выполняется только для одного элемента

Пишу парсер для AUTO.RIA и мне нужно написать цикл, для добавления элементов в список cars. Почему-то цикл добавляет только первый элемент в список:

from bs4 import BeautifulSoup as BS4
import requests
 
host = 'https://auto.ria.com/'
url = 'https://auto.ria.com/uk/newauto/marka-bmw/'
headers = {
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
    "Accept" : "*/*"
}
 
 
def get_html (url,params=None):
    r = requests.get(url=url,headers=headers,params = params)
    return r
 

def get_contend(html):
    soup = BS4(html,"html.parser")
    items = soup.find_all(class_='na-gallery-view list-view')
 
    cars = []
    for item in items:
        cars.append({
            'title' : item.find(class_='link').text,
            'link' : host + item.find(class_='proposition').find(class_="proposition_link").get('href'),
            "price_in_dolar" : item.find(class_='proposition_price').find(class_='green bold size18').text.strip(),
            "price_in_uah" : item.find(class_='proposition_price').find(class_='grey size13').text.strip(),
            'location' : item.find(class_='proposition_region size13').find_next('strong').text,
        })
    print(cars)

 
def parse():
    html = get_html(url)
    if html.status_code == 200:
       get_contend(html.text)
    else:
        print("Error 404")
 

 parse()

Ответы (1 шт):

Автор решения: Jack_oS

По указанному адресу только один div с классом 'na-gallery-view list-view'.
Если в items нужно сохранить все карточки предложений на этой странице, то вам нужен блок с классом "proposition":

import requests
from bs4 import BeautifulSoup


url = 'https://auto.ria.com/uk/newauto/marka-bmw/'
headers = {
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
    "Accept" : "*/*"
}

r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')

items = soup.find_all('div', class_='proposition')
>>> len(items)
20

И код в цикле пересмотрите:

cars = []
for item in items:
    cars.append({
        'title' : item.find('h3', class_='proposition_name').text,
         # и так далее
    })
→ Ссылка