Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Xpath błąd pobierania strony
omi
post 20.08.2019, 04:29:34
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Witam! Chciałem pobrać zawartość tej strony https://www.tibia.com/community/?subtopic=k...amp;world=Dibra mam taki kod:

  1.  
  2.  
  3. $db = mysqli_connect($serwer, $uzytkownik, $haslo, $nazwa_bazy);
  4. ini_set('MAX_EXECUTION_TIME', 5600);
  5. if (mysqli_connect_errno())
  6. {
  7. echo 'Blad';
  8. exit;
  9. }
  10. else {
  11. }
  12.  
  13.  
  14.  
  15.  
  16. $html = file_get_contents('https://www.tibia.com/community/?subtopic=killstatistics&world=Dibra');
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. $dom = new DOMDocument;
  24. libxml_use_internal_errors(true);
  25. $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  26. libxml_clear_errors();
  27. $dom->encoding = 'UTF-8';
  28.  
  29. $xpath = new DOMXPath($dom);
  30.  
  31.  
  32.  
  33.  
  34. $dibraxyztds1 = $xpath->query('//table//td[text()="Sir Valorcrest "]/ancestor::tr/td[3]');
  35. $dibraxyztds21 = $xpath->query('//table//td[text()="Sir Valorcrest "]/ancestor::tr/td[2]');
  36.  
  37. foreach($dibraxyztds1 as $dibraxyztd1)
  38. foreach($dibraxyztds21 as $dibraxyztd21)
  39.  
  40.  
  41. echo $dibraxyztd1->nodeValue;
  42. echo $dibraxyztd21->nodeValue;
  43. {
  44.  


Wczoraj wszystko działało a dzisiaj nie działa. Gdzie może być błąd ?
Go to the top of the page
+Quote Post
nospor
post 20.08.2019, 09:00:02
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




A czymze objawia sie to nie dzialanie? Bo zepsuc moglo sie w stu miejscach....
Dodatkowo wlacz wyswietlanie bledow i sprawdzaj co zawieraja dane na kazdym etapie. To naprawde nie jest czarna magia tylko zwykle debugowanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
omi
post 20.08.2019, 09:07:18
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Działanie objawia się tym że ten kod pobierał liczby z tabeli wczoraj a dzisiaj już nie.
Go to the top of the page
+Quote Post
nospor
post 20.08.2019, 09:12:39
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Cytat
Dodatkowo wlacz wyswietlanie bledow i sprawdzaj co zawieraja dane na kazdym etapie. To naprawde nie jest czarna magia tylko zwykle debugowanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
omi
post 20.08.2019, 11:53:35
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Wyświetla się takie ostrzeżenie:


Warning: file_get_contents(https://www.tibia.com/community/?subtopic=killstatistics&world=Dibra): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in C:\xampp\htdocs\awaria\1test.php on line 27

Warning: DOMDocument::loadHTML(): Empty string supplied as input in C:\xampp\htdocs\awaria\1test.php on line 36

Go to the top of the page
+Quote Post
nospor
post 20.08.2019, 12:16:13
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




no i juz wiesz czemu nie dziala
zamiast file_get_contents sprubuj sie polaczyc przy pomocy curl


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
omi
post 20.08.2019, 12:45:44
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Teraz to wygląda tak:

  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  3. curl_setopt($ch,CURLOPT_URL,"https://www.tibia.com/community/?subtopic=killstatistics&world=Dibra");
  4. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  5. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
  6. $data = curl_exec($ch);
  7. curl_close($ch);
  8.  
  9. $dom = new DOMDocument;
  10. libxml_use_internal_errors(true);
  11. $dom->loadHTML($ch);
  12. libxml_clear_errors();
  13. $dom->encoding = 'UTF-8';
  14.  
  15. $xpath = new DOMXPath($dom);
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. $dibraxyztds1 = $xpath->query('//table//td[text()="Sir Valorcrest "]/ancestor::tr/td[3]');
  24. $dibraxyztds21 = $xpath->query('//table//td[text()="Sir Valorcrest "]/ancestor::tr/td[2]');
  25.  
  26. foreach($dibraxyztds1 as $dibraxyztd1)
  27. foreach($dibraxyztds21 as $dibraxyztd21)
  28.  
  29.  
  30. echo $dibraxyztd1->nodeValue;
  31. echo $dibraxyztd21->nodeValue;
  32. {


I jest teraz takie ostrzeżenie:

Warning: DOMDocument::loadHTML() expects parameter 1 to be string, resource given in C:\xampp\htdocs\awaria\test.php on line 73
Go to the top of the page
+Quote Post
nospor
post 20.08.2019, 13:30:04
Post #8





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Nie zadne
$dom->loadHTML($ch);
a
$dom->loadHTML($data);
Patrz co wkladasz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
omi
post 20.08.2019, 14:47:09
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Dziękuję już działa.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:48