From 4c7016fb3e2dd55de4389872ba5c6c65bbf5a582 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Tue, 27 Nov 2012 15:32:04 +0000 Subject: [PATCH] Poprawka parsowania strony z programem telewizyjnym. --- data/lotto/pobierz.php | 57 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 18 deletions(-) diff --git a/data/lotto/pobierz.php b/data/lotto/pobierz.php index 2dc91d0..177c6c7 100644 --- a/data/lotto/pobierz.php +++ b/data/lotto/pobierz.php @@ -7,12 +7,12 @@ // Lista gier. protected $gry = array( - // nazwa => array(ilość liczb, plus?) - 'lotto' => array(6, FALSE, 'dl'), - 'mini-lotto' => array(5, FALSE, 'el'), - 'kaskada' => array(12, FALSE, 'ka'), - 'multi-multi' => array(20, TRUE, 'mm'), - 'joker' => array(5, FALSE, 'jk') + // nazwa => array(ilość liczb, plus?, lottoplus?, skrót) + 'lotto' => array(6, FALSE, 6, 'dl'), + 'mini-lotto' => array(5, FALSE, 0, 'el'), + 'kaskada' => array(12, FALSE, 0, 'ka'), + 'multi-multi' => array(20, TRUE, 0, 'mm'), + 'joker' => array(5, FALSE, 0, 'jk') ); // Spróbuj pobrać stronę http://lotto.pl/wyniki-gier @@ -102,12 +102,12 @@ } $wyniki = array(); - $dane = $this->wytnij($this->strona, '<div class="start-wyniki_'.$gra.'">', - '<div class="start-wyniki_', 'Nie znaleziono na stronie wyników dla gry '.$gra); + $dane = $this->wytnij($this->strona, '<div class="start-wyniki_'.$gra, + '<div class="start-wyniki_', 'Nie znaleziono na stronie wyników dla gry '.$gra); $poz_dane = 0; for($l = 1; $l <= $liczba; $l++) { - $data = $this->wytnij($dane, '<div class="wyniki_data">', '</div>', + $data = $this->wytnij($dane, '<div class="wyniki_data', '</div>', 'Nie znaleziono '.$l.'-ej informacji o losowanu gry '.$gra, $poz_dane); $pozycja = 0; @@ -117,8 +117,8 @@ 'Nie znaleziono '.$l.'-ej godziny losowania gry '.$gra, $pozycja); try { - $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra.'">', "\t".'</div>', - 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra, $poz_dane); + $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra, "\t".'</div>', + 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra, $poz_dane); } catch(Exception $e) { break; @@ -129,13 +129,31 @@ $pozycja = 0; for($i = 0; $i < $this->gry[$gra][0]; $i++) { $wynik['liczby'][] = $this->wytnij($liczby, '<div class="wynik_'.$gra.'">', - '</div>', NULL, $pozycja); + '</div>', NULL, $pozycja); } // Szukamy plusa if($this->gry[$gra][1]) { $wynik['plus'] = $this->wytnij($dane, '<div class="wynik_'.$gra.'_plus">', - '</div>', NULL, $poz_dane); + '</div>', NULL, $poz_dane); + } + + // Szukamy lottoplusa + if($this->gry[$gra][2] > 0) { + try { + $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra.'plus">', "\t".'</div>', + 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra.'plus', $poz_dane); + } + catch(Exception $e) { + continue; + } + + $pozycja = 0; + $wynik['plus'] = array(); + for($i = 0; $i < $this->gry[$gra][2]; $i++) { + $wynik['plus'][] = $this->wytnij($liczby, '<div class="wynik_'.$gra.'plus">', + '</div>', 'Nie znaleziono wyników losowania '.$gra.'plus', $pozycja); + } } $wyniki[] = $wynik; @@ -147,10 +165,10 @@ function pobierz() { foreach($this->gry as $gra => $data) { echo STAR.'Wyniki gry '.$gra.'...'; - if($gra == 'multimulti') { + if($gra == 'multi-multi') { $wyniki = $this->wyniki($gra, 2); $wynik = $wyniki[0]; - $skrot = $data[2].substr($wynik['godzina'], 0, 2); + $skrot = $data[3].substr($wynik['godzina'], 0, 2); $last_data = @file_get_contents('./last_'.$skrot.'.txt'); if($last_data != $wynik['data']) { $output = array(); @@ -167,7 +185,7 @@ } $wynik = $wyniki[1]; - $skrot = $data[2].substr($wynik['godzina'], 0, 2); + $skrot = $data[3].substr($wynik['godzina'], 0, 2); $last_data = @file_get_contents('./last_'.$skrot.'.txt'); if($last_data != $wynik['data']) { $output = array(); @@ -186,7 +204,7 @@ else { $wynik = $this->wynik($gra); - $skrot = $data[2]; + $skrot = $data[3]; $last_data = @file_get_contents('./last_'.$skrot.'.txt'); if($last_data != $wynik['data']) { $output = array(); @@ -195,6 +213,9 @@ $output[$i+1] = $wynik['liczby'][$i]; } if($data[1]) { + $output['plus'] = $wynik['plus']; + } + if(($data[2] > 0) && isset($wynik['plus'])) { $output['plus'] = $wynik['plus']; } file_put_contents('./last_'.$skrot.'.txt', $output['data']); @@ -211,4 +232,4 @@ echo OK; $lotto->pobierz(); -?> \ No newline at end of file +?> -- Gitblit v1.9.1