Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Opóźnione pobranie kodu strony.
Forum PHP.pl > Forum > PHP
blojayble
Witam.


Ostatnio postanowiłem sobie napisać pewien skrypt, który wyświetlał by wybrane dane z innej strony, spoza mojego "serwisu". Problem leży w tym, iż interesująca mnie zawartość strony jest generowana przez skrypt w JS, który na wykonanie po załadowaniu strony nieco czasu potrzebuje.

I gdy używam np. file_get_contents(), czy też pobieram stronę za pomocą cURL'a, dostaje kod strony, ale w miejscu oczekiwanych danych jest pusto, bo skrypt w js po prostu się nie wykonał.

I teraz pytanie: czy istnieje jakiś sposób/metoda, by wczytać tę stronę, po jej pełnym załadowaniu, czy chociaż jakoś opóźnić ten proces? Gdy chcę sobie zobaczyć kod strony w przeglądarce wszystko jest, a gdy pobieram poprzez php, już mam niespodziankę. smile.gif


Z góry dziękuję za wszelkie sugestie i rady.


Pozdrawiam.
~blojayble
Yorki
Po prostu pobierz te dane ze skryptu, z którego pobiera je JS, chociażby przez cURL.
blojayble
Tu właśnie jest problem, gdyż rozgryzłem ten skrypt, ale link który powinien mi podać dane, po prostu nie działa, pokazuje error 404. Tj, działa, ale akurat w jednym konkretnym przypadku, pokazuje 404, a ten link jest w skrypcie jak byk i w dodatku działa. Być może jest to jakieś zabezpieczenie, ale nie mam bladego pojęcia po co to. Nie da się w żaden sposób wykonać tego co chcę?
Yorki
Cytat(blojayble @ 17.09.2012, 18:57:15 ) *
Tu właśnie jest problem, gdyż rozgryzłem ten skrypt, ale link który powinien mi podać dane, po prostu nie działa, pokazuje error 404. Tj, działa, ale akurat w jednym konkretnym przypadku, pokazuje 404, a ten link jest w skrypcie jak byk i w dodatku działa. Być może jest to jakieś zabezpieczenie, ale nie mam bladego pojęcia po co to. Nie da się w żaden sposób wykonać tego co chcę?


Być może sprawdzane są cookies, referencje etc., poszukaj na necie przykładów cURL z wykorzystaniem cookies. Druga opcja to, że pomieszałeś linki, wejdź w ten adres przez przeglądarkę.
Arcioch
Jeżli cURL zwraca Ci 404 to znaczy, że nie wysłałeś wszystkich nagłówków wink.gif
Sprawdz firebugiem dokładnie jakie nagłowki wysyła ta strona oraz jakie nagłowki Ty wysyłasz w swoim skrypcie.

Bez kodu albo strony z której chces pobrać treść cięzko jest Ci pomóc.

blojayble
Gdy wchodzę w tą stronę z przeglądarki, też mam 404. Ale link do niej jak byk widnieje w skrypcie a ten działa.

Nawet podam ten fragment:

[JAVASCRIPT] pobierz, plaintext
  1. memberTable = new wot_hl.itemList({ url: '/community/clans/500002448/members/?type=table',
  2. offset: 0,
  3. limit: 100,
  4. order_dir: 'asc',
  5. order_by: 'name',
  6. containerId: 'member_table_container',
  7. paginatorIds: ['member_table_paginator_top',
  8. 'member_table_paginator_bottom'],
  9. hashPrefix: 'mt',
  10. id: 'clan_members_index',
  11. useLocalStorage: true,
  12. OnAddCallback: OnRowAdded });
  13.  
  14. wot_hl.hash.registerCallback(function(event, hashManager) {
  15. var tableArgs = $.extend({},
  16. memberTable.defaults,
  17. hashManager.getHashValuesFor(memberTable.params.hashPrefix));
  18. memberTable.SetParams(tableArgs);
  19.  
  20. if (memberTable.changed) {
  21. memberTable.Update();
  22. }
  23. });
  24.  
  25. jQuery(window).bind("hashchange", function (event) {
  26. wot_hl.hash.handleEvent(event)
  27. });
[JAVASCRIPT] pobierz, plaintext



Ze strony: http://worldoftanks.eu/community/clans/500002448-FEAR/
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.