не парсит данные

Надо спарсить данные, название бренда, цену. Сайт динамический. Парсит только первые 32 значения, остальне не берет. Откуда можно подтянуть остальные данные? JSON не нашел, быть может есть какой то другой вариант? Желательно с помощью requests.

import requests
from bs4 import BeautifulSoup as bs
import time

url = 'https://www.zalando.co.uk/men/?q=hoodie&order=price&dir=asc'
headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0'
}
r = requests.post(url, headers = headers)
#print(r.status_code)

src = r.text
soup = bs(src, 'lxml')
items = soup.find_all('div', class_='DT5BTM w8MdNG cYylcv _1FGXgy _75qWlu iOzucJ JT3_zV vut4p9')
num = 0
for i in items:
    num = num + 1
    print(num)
    try:
        brand_name = i.find('div', class_='_3KN5mc').find('h3')
        print(brand_name)
        time.sleep(1)
    except Exception:
        data = "None"
        print(data)

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

Автор решения: Даня

Продукты запрашиваются через POST запрос на https://www.zalando.co.uk/api/graphql/ увидеть это вы можете открыв консоль (F12) перейти на вкладку Network => Fetch/XHR

→ Ссылка
Автор решения: Сергей Ш
import requests
from bs4 import BeautifulSoup as bs
import json

url = 'https://www.zalando.co.uk/men/?q=hoodie&p=1&order=price&dir=asc'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0'
}
r = requests.get(url, headers=headers)
soup = bs(r.text, 'lxml')
items = soup.find('script', class_="re-data-el-hydrate")
dct = json.loads(items.text)['graphqlCache']
qq = (z['data']['product']['name'] for x, z in dct.items() if '8a351c55e39' in x)
for i,x in enumerate(qq, 1):
    print(i, x)

1 CORE HOODIE BIG & TALL - Hoodie - dusty pink
2 EMBROIDERED - Sweatshirt - light green

...

83 RAINBOW HEART HOODIE PRIDE UNISEX - Hoodie - black
84 UNISEX - Hoodie - bordeaux
→ Ссылка