file_get_contents nie pobiera całej zawartości

file_get_contents nie pobiera całej zawartości
CO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:73
0

Witam, mam takie pytanie dot. funkcji file_get_contents. Ogólnie moim celem jest pobranie całego kodu html z innej strony. Użyłem funkcji file_get_contents, ale ta funkcja nie zapisała tych informacji które były dla mnie istotne. Pomija niektóre selektory. Może złej funkcji uzywam do tego celu :D Jeśli tak to jak moge zapisać całą zawartość html do mojego skryptu, a potem na niej operować? Chodzi o całkowite copy paste elementu body.

@Edit
Albo czy da sie wykonać jakiś skrypt js na innej stronie i zwrócić wyniki do mojego skryptu?

edytowany 1x, ostatnio: Codin
MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:20 dni
  • Postów:644
0

file_get_contents działa dobrze, spróbuj sobie wejść na tą stronę ale przez taki link: view-source:https://4programmers.net/ - wtedy widzisz źródła bez odpalenia skryptów JS.
Wyśledź w zakładce sieć skąd przychodzą dane które Cię interesują.

edytowany 1x, ostatnio: Markuz
CO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:73
0

No okej, widze skąd przychodzą, ale to mi za wiele nie pomaga. Chce np. z selektora <video> wyciagnąć src, a file_get_contents nie zapisuje tego selektora <video>

Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Nie zapisuje, bo go tam nie ma - przeglądarka podczas wykonywania skryptów JS / odpalania iframe'ów / etc. dopiero go tworzy.

Szukaj informacji pod kątem headless browser, jeśli chcesz się w to bawić.


edytowany 2x, ostatnio: Patryk27
CO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:73
0

@Patryk27:
A to nie da się jakoś wstrzymać pobierania kodu html do momentu wczytania wszystkich skryptów?

MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:20 dni
  • Postów:644
0

@Codin: Bez pobierania kodu HTML skąd przeglądarka ma wiedzieć które skrypty odpalić? Z drugiej strony, jak chcesz w PHP odpalać te skrypty napisane w JS?

msm
Administrator
  • Rejestracja:około 16 lat
  • Ostatnio:6 miesięcy
0

Jakiego pobierania skryptów? Skoro wołasz file_get_contents na URL to pobiera się tylko jego zawartość - nie idą żadne dodatkowe requesty do skryptów. A w szczególności nie są wykonywane żadne skrypty.

Tak jak @Patryk27 - albo poczytaj o headless browser, albo znajdź sposób na pobranie informacji która Cię interesuje bez interpretowania całej strony. To drugie rozwiązanie lepsze w praktyce, ale wymaga zrozumienia skąd się biorą na stronie te atrybuty których szukasz (czyt: analiza strony i skryptów na niej).

CO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:73
0

A no w sumie głupie pytanie zadałem :D
Zatem idę sie zapoznać z headless browser. Dzięki za pomoc :)

PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:około miesiąc
  • Postów:178
0

@Codin: Jaka strona i jakie dane ?


Nie pomagam naPW.!.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.