Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie informacji ze strony
Forum PHP.pl > Forum > Przedszkole
RazYouDude
Witam, jestem początkujący.
Chcę pobrać jeden wiersz, a dokładniej 4 krotki z tego wiesza.
Strona to: http://stooq.pl/q/d/?s=wig i chcę pobrać albo cały wiesz najnowszy dzisiaj, a najlepiej tylko 4 pola tj. nr 5710, Data, Otwarcie i Zamknięcie. Chciałbym pobrać te dane, i zapisać je w notatnik
Używam file_get_content ale nie wiem jak w preg_match zdefiniować że chce pobrać tylko te wartości.
Zaczytałem sie w informacjach o wyrażeniach reguralnych ale nie mam pojęcia jak te wartości zdefiniować. Ktoś ma jakiś pomysł?
Oczywiście pisze w php.
emantuch
To ja Ci podsunę inny pomysł smile.gif

Kod jest prosty i chyba nie musze go opisywać?
Chcesz inne wiersze? Inną komórkę tabeli?

/tbody/tr[1]/td[1]' - ten fragment odpowiada za wyciąganie tego czego szukasz smile.gif


tr[1] - to pierwszy wiersz. chcesz np. 10 wiersz to musisz wpisać tak: tr[10]

td[1] to numer komórki w wierszu - chcesz komórkę nr 10? to wpisujesz td[10]


chcesz wyciągnać więcej informacji?
no to na logike sobie zdubluj :

$pole = $xpath->query('//table[@id="fth1"]/tbody/tr[1]/td[1]');
echo trim($pole->item(0)->nodeValue);
$pole2 = $xpath->query('//table[@id="fth1"]/tbody/tr[1]/td[2]');
echo trim($pole2->item(0)->nodeValue);

  1. <?php
  2.  
  3.  
  4. $url = 'http://stooq.pl/q/d/?s=wig';
  5.  
  6.  
  7. $doc = new DOMDocument();
  8. libxml_use_internal_errors(true);
  9. $doc->loadHTMLFile($url);
  10. $xpath = new DOMXpath($doc);
  11.  
  12.  
  13. $pole = $xpath->query('//table[@id="fth1"]/tbody/tr[1]/td[1]');
  14. echo trim($pole->item(0)->nodeValue);
  15.  
  16. ?>
  17.  
RazYouDude
Dzięki wielkie, teraz tylko muszę dopisać coś co pozwoli mi na zapisanie tych "wyplutych" danych do pliku .txt.
Dzięki wielkie!
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.