Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][cURL] Pobranie źródła strony
trollman
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.12.2012

Ostrzeżenie: (0%)
-----


Witam.
Mam problem gdyż chciałbym pobrać źródło strony i z niego wyciągnąć odpowiedni fragment kodu javascript.
Napisałem taką funkcję

  1.  
  2. <?php
  3. $cookie_file ="cookie.txt";
  4. //$url ='http://adresstrony.pl';
  5. $ch=curl_init($url);
  6. curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
  7. curl_setopt($ch,CURLOPT_TIMEOUT,50);
  8. curl_setopt($ch,CURLOPT_HEADER,0);
  9. curl_setopt($ch,CURLOPT_REFERER,$url);
  10. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
  11. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  12. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  13. $soursas=curl_exec($ch);
  14. curl_close($ch);
  15.  
  16. $pattern = '/<script(.*)<\/script>/';
  17. preg_match_all($pattern, $soursas, $matches);
  18. echo '<pre>'; print_r($matches); echo '</pre>';
  19.  
  20. ?>


I nie wiem co robie źle ale ten pattern nie wyciąga ma całego kodu skryptu (ze strony )tylko jego deklaracja takie jak:
[4] => type="text/javascript" src="/js/swfobject.js">
[5] => type="text/javascript" src="/js/colorpicker.js">
[6] => type='text/javascript' src='/js/jquery.cookie.js'>
[7] => type='text/javascript' src='/js/json2.js'>

Jak wcyiągnąć cały kod javacript ze źródła strony?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kreatiff
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


<script.*?>(.*?)</script> - to złapie wszystko pomiędzy znacznikami <script ...>dowolny kod</script>, ale by dopasowało skrypt wieloliniowy, trzeba zmodyfikować zachowanie silnika, by "." traktował też jako znak nowej linii. Czyli musimy dodać jeszcze modyfikator "s". Dodałbym też "u" na wypadek, gdyby w kodzie skryptu trafiły się znaki w kodowaniu UTF-8.

Możliwe, że DOMDocument będzie tutaj lepszym rozwiązaniem zamiast wyrażeń regularnych.

Acha, tak teraz sobie pomyślałem, że jak chcesz wyciągnąć kod z plików js. to trzeba wyłapać ich nazwy z kodu, który otrzumujesz i pobrać osobno.

Ten post edytował kreatiff 26.03.2014, 11:46:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 21:51