Jak OLX ładuje zdjęcia?

0

Próbuję pobrać zdjęcia z listingu OLX. Poniżej obszaru widocznego są ładowane przez lazy-loading.

<img src="/app/static/media/no_thumbnail.15f456ec5.svg" class="css-8wsg1m">

Brak na całym elemencie atrybutów np typu data, aby odgadnąć lokację obrazka na: https://ireland.apollo.olxcdn.com:443/v1/files/...
ID ogłoszenia także nie pokrywa się z nazwą pliku.

Jak to można zdebugować?

1

Są przecież atrybuty data-src i src na pierwszym.

Taki kod wyciągnie wszystkie obrazki (w node):

import fetch from "node-fetch";
import cheerio from "cheerio";

(async () => {
    const url = "https://www.olx.pl/d/oferta/cross-250-cc-defender-2021rraty-na-dowod-o-dowozimy-ostatnia-szt-CID5-IDNXCuz.html";
    const body = await fetch(url).then(r => r.text());
    const $ = cheerio.load(body);

    const imgs = $(".swiper-zoom-container img").map((key, e) => {
        return $(e).attr("data-src") || $(e).attr("src");
    }).toArray();

    console.log(imgs);
})()
0

widzę pilna sprawa, skoro odpisujesz po 3 tygodniach :D

w kodzie html masz coś takiego - do tej zmiennej pakowane są wszystkie brakujące dane. Wyciągnij sobie z tego tagu <script> potrzebny fragment, jakieś json parse i w środku już dogrzebiesz się gdzie dokładnie są te dane. Gotowca mi się nie chce pisać, jak masz problem to pytaj o konkret

screenshot-20221120174222.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1