Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP i cURL a dynamiczny css pobieranej strony
Forum PHP.pl > Forum > PHP
kodepiko6
Witam,
mam skrypt do pobierania zawartości strony, z której potrzebują wyciągnąć cenę, niestety raz na 5 prób oprócz standardowego wyniku pojawia się więcej pozycji z takimi samym schematem html, dla normalnego użytkownika nie są widoczne ponieważ dynamiczne klasy (generowane losowo np. klasdkas, jksdsdl) css mają atrybut display:none; oprócz jednej (która się wyświetla) - tej właściwej ceny - stąd przeciętnemu userowi nie przeszkadzają a mój crawler ma problem.

Próbowałem zerknąć w css z odpowiednim identyfikatorem ale nie znalazłem tam żadnej z tych klas, chrome natomiast pokazuje że display: none; pochodzi z pliku shared.css
Skrypt nie potrafi odróżnić prawidłowej ceny, kolejność bywa losowa.

Jakieś pomysły?

Pozdrawiam.
trzczy
To może tak działać, że wszyskie elementy mają display:none, a tylko ten właściwy dostaje display:block. Ten właściwy może być identyfikowany przez normalną nazwę klasy albo przez :nth-child(n) ew. inne pseudoklasy. W drugim przypadku wyszukiwanie ceny nie będzie po klasie.

Trzeba rozkminić zasadę działania css w tym przypadku. F12 przeglądarki powinno wystarczyć do zlokalizowania wpisów css.
trzczy
Czy w przypadku kiedy jest kilka cen, zachodzi prawidłowość, że dobra cena to zasze cena druga, albo zawsze cena trzecia itd?

A druga rzecz to taka, czy style się zmieniają, czy są zawsze te same. Znaczy się, czy wszystkie deklaracje stylów są takie same przy każdym odświeżeniu. Bo może w pliku css jest tak, że raz jest wpis taki:

  1. :nth-child(2){display:block;}
a raz taki
  1. :nth-child(3){display:block;}
kodepiko6
Cytat(trzczy @ 2.03.2018, 16:07:56 ) *
Czy w przypadku kiedy jest kilka cen, zachodzi prawidłowość, że dobra cena to zasze cena druga, albo zawsze cena trzecia itd?

A druga rzecz to taka, czy style się zmieniają, czy są zawsze te same. Znaczy się, czy wszystkie deklaracje stylów są takie same przy każdym odświeżeniu. Bo może w pliku css jest tak, że raz jest wpis taki:

  1. :nth-child(2){display:block;}
a raz taki
  1. :nth-child(3){display:block;}


Niestety nie ma takiej reguły, kolejność losowa, ceny raz z groszami raz bez, wielkości-różnicy też nie ma co porównywać, bo one są wzięte z.. tongue.gif
Zauważyłem, że plik css bez losowego identyfikatora ?kl24kl2k4[id sesji?] jest taki sam jak z nim, więc nie ma tam informacji o tych klasach.. to musi być zrobione w jquery czy coś?
Może ktoś się w tym orientuje, jak to może być zrobione?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.