Как спарсить элемент, который подгружается при помощи js?

Пытаюсь спарсить первое фото каждого из объявлений на этой странице: https://www.otodom.pl/pl/wyniki/wynajem/mieszkanie/cala-polska?ownerTypeSingleSelect=ALL&viewType=listing&limit=72

Однако получается спарсить картиннку только нескольких объявлений, остальные подгружаются при помощи js.отключил js

Что в таком случае можно предпринять и попробовать. Хотя бы подскажите, что могло бы помочь, чтобы не использовать селениум.


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

Автор решения: Тим Муранов

Можно попробовать beautifulSoup.

Здесь чел на рекламмном сайте новостей оставил только ссылки на интересующие его новости: https://habr.com/ru/articles/544828/

→ Ссылка
Автор решения: Vlad Chapl

в иннтрументах разработчика вижу, что подгружается json https://www.otodom.pl/_next/data/4JKqPCoRE7cVNqIQeP-Pf/pl/wyniki/wynajem/mieszkanie/cala-polska.json?ownerTypeSingleSelect=ALL&viewType=listing&limit=72&searchingCriteria=wynajem&searchingCriteria=mieszkanie&searchingCriteria=cala-polska&page=2

при попытке перейти на следующую страницу. инструмент разработчика правда там еще какие-то не опознанные мною вызовы

→ Ссылка
Автор решения: Сергей Ш

Минимальный, воспроизводимый пример:

import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0'}
params = {
    'ownerTypeSingleSelect': 'ALL',
    'viewType': 'listing',
    'limit': '72',
    'searchingCriteria': [
        'wynajem',
        'mieszkanie',
        'cala-polska',
    ],
    'page': '1',
}

response = requests.get(
    'https://www.otodom.pl/_next/data/4JKqPCoRE7cVNqIQeP-Pf/pl/wyniki/wynajem/mieszkanie/cala-polska.json',
    params=params,
    headers=headers
)
for item in response.json()['pageProps']['data']['searchAds']['items']:
    print(item['title'])
    #print(item['totalPrice']['value'])
    print(item['images'][0]['medium'])
→ Ссылка