Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] [curl] curl nie widzi danych generowanych przez javascript?
Forum PHP.pl > Forum > Przedszkole
big200
Witam mam następujący problem otóż w kod przeglądarce wyglada następująco:

  1. <div id="ctl0_Main_tv_FullDescr" class="tab-view" style="overflow:auto;display:none;">
  2. <img id="ctl0_Main_img_PackShot" align="right" style="margin:10px;margin-top:20px;width:1px;border-style:Solid;border-width:0px;border-color:black;" alt="" src="http://pharmindex.pl/gfx/PackShot/d_1px_white.jpg">
  3. <b>Skład</b>
  4. <br>
  5. <span>1 g maści, kremu lub emulsji na skórę zawiera 1 mg aceponianu metyloprednizolonu.</span>
  6. <br>
  7. <br>
  8. <span id="ctl0_Main_DrugDescInactivePl"></span>


natomiast po ściągnięciu przez curl wygląda:

  1. <div id="ctl0_Main_tv_FullDescr" class="tab-view" style="overflow:auto;display:none;">
  2.  
  3. <img src="" alt="" align="right" id="ctl0_Main_img_PackShot" style="margin:10px;margin-top:20px;width:200px;border-style:Solid;border-width:0px;border-color:black;" />
  4.  
  5.  
  6. <span id="ctl0_Main_DrugDescI


Bardzo proszę o nakierowanie jak można pobrać ten tekst. Z góry dziękuje.
krzywy36
co do tematu, oczywiście, że nie widzi "danych generowanych przez javascript", bo dane te są generowane w przeglądarce. Niestety nie widze w Twoim kodzie js, więc nie wiem jak mam Ci pomóc.
Sephirus
Dane są zaciągane pewnie ajaxem do tego DIV'a

1. odpal firebuga
2. wejdź na stronę
3. zobacz jakie idą requesty ajaxowe i co zwracają - znajdź ten, który zwraca środek DIV'a
4. zrób skrypt z curlem pod adres z ajaxowego requestu
5. dziękuję... wink.gif
big200
Oto skrypt podejrzany:
  1. <script type="text/javascript">
  2. /*<![CDATA[*/
  3. new Prado.WebUI.TTabPanel({'ID':'ctl0_Main_tp_desc','ActiveCssClass':'tab-active','NormalCssClass':'tab-normal','Views':['ctl0_Main_tv_Composition','ctl0_Main_tv_FullDescr'],'ViewsVis':['1','1']});
  4. new Prado.WebUI.TLinkButton({'ID':'ctl0_Header_ctl0_rpt_Menu_ctl1_ctl0','EventTarget':'ctl0$Header$ctl0$rpt_Menu$ctl1$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  5. new Prado.WebUI.TLinkButton({'ID':'ctl0_Header_ctl0_rpt_Menu_ctl2_ctl0','EventTarget':'ctl0$Header$ctl0$rpt_Menu$ctl2$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  6. new Prado.WebUI.TLinkButton({'ID':'ctl0_Header_ctl0_rpt_Menu_ctl3_ctl0','EventTarget':'ctl0$Header$ctl0$rpt_Menu$ctl3$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  7. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl1_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl1$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  8. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl2_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl2$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  9. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl3_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl3$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  10. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl4_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl4$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  11. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl5_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl5$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  12. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl6_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl6$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  13. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl7_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl7$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  14. new Prado.WebUI.TLinkButton({'ID':'ctl0_ctl1_rpt_Menu_ctl8_ctl0','EventTarget':'ctl0$ctl1$rpt_Menu$ctl8$ctl0','CausesValidation':true,'StopEvent':true,'FormID':'ctl0_ctl0'});
  15. Prado.CallbackRequest.addPostLoaders(['ctl0$Main$tp_desc','ctl0_Main_tp_desc_1']);
  16. /*]]>*/
  17. </script>
  18. </form>
  19. <script type="text/javascript">
  20. /*<![CDATA[*/
  21.  
  22. s.pageName="Drug database - Drug description"
  23. s.server="production"
  24. s.channel="database"
  25. /************* DO NOT ALTER ANYTHING BELOW THIS LINE! **************/
  26. var s_code=s.t();
  27. if(s_code)document.write(s_code)
  28.  
  29. /*]]>*/
  30. </script>



ORAZ jak wygląda definicja form:
  1. <form id="ctl0_ctl0" method="post" action="/index.php/page,DrugInfo.DrugDetails/DrugId,50"><div style="visibility:hidden;">
  2. <input type="hidden" name="ctl0_Main_tp_desc_1" id="ctl0_Main_tp_desc_1" value="0" />
  3. <input type="hidden" name="PRADO_PAGESTATE" id="PRADO_PAGESTATE" value="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"
    />
  4. <input type="hidden" name="PRADO_POSTBACK_TARGET" id="PRADO_POSTBACK_TARGET" value="" />
  5. <input type="hidden" name="PRADO_POSTBACK_PARAMETER" id="PRADO_POSTBACK_PARAMETER" value="" />
  6. </div>
  7. <script type="text/javascript" src="/assets/5fff5914/clientscripts.php?js=tabpanel,prado,ajax"></script>


Cytat
Dane są zaciągane pewnie ajaxem do tego DIV'a

1. odpal firebuga
2. wejdź na stronę
3. zobacz jakie idą requesty ajaxowe i co zwracają - znajdź ten, który zwraca środek DIV'a
4. zrób skrypt z curlem pod adres z ajaxowego requestu
5. dziękuję... wink.gif


Bardzo proszę o rozszerzenie pojęcia z punktu 3 gdzie w firebugu mogę to znaleźć. Z góry dzięki za info.
Sephirus
co do pkt. 3 to zakładka konsola, lub sieć - wyłapują one połączenia ajax.

Z tego co widzę to jest to namotane - jakoś to ukrywają przed takim prostym dostępem - niestety nie pomogę Ci poprzez forum raczej...
krzywy36
tak jak Sephirus napisał, musisz wyłapać do jakiego pliku się odwołuje skrypt wyświetlający dane w tym divie, a potem curlem pobrać dane z tego pliku. Brzmi trudniej niż jest naprawdę ;p
btw, w chrome F12 -> Network i szukaj pliku wink.gif
big200
haha działa wielkie dzięki za pomoc. Daje pomógł i życzę miłego dnia:).
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.