Witam,
Napisałem skrypt który kradnie z WP program TV i wrzuca go do mojej bazy. Wykonuje się prawie 15 min i kradnie program dla wszystkich stacji. Jest to praca na szkolny konkurs, więc raczej mnie nie pozwą :D Problem w tym że WP, a właściwie firma A+C któa przygotowuje dla nich program, miesza z godzinami. Pewnie wiecie o co mi chodzi. Program emitowany we wtorek o godzinie 2:30 jest wyświetlany w poniedziałkowej tabelce, też o 2:30. Nie wiem jak sobie z tym poradzić :( Taki program dodawany jest do bazy, a następnie wyświetlany, w poniedziałek o godzinę 2:30, czyli przed wszystkimi programami na wtorek. Jak to naprawić?
Kod skryptu kradnącego:
<?php
include('./mysql.php');
include('./simple_html_dom.php');
$html = file_get_html('http://tv.wp.pl/');
$i = 0;
foreach($html->find('select#stationId option') as $e) {
if($e->id && substr($e->id, 0, 1) == 'B') {
$stacje[$i]['nr'] = $e->value;
$stacje[$i]['kod'] = $e->id;
$stacje[$i]['nazwa'] = iconv('ISO-8859-2', 'UTF-8', $e->innertext);
$i++;
}
}
for($i = 0; $i <= 7; $i++) {
$dni[] = date('Y-m-d', time()+(86400*$i));
}
echo 'TRUNCATE TABLE programy;<br />'.PHP_EOL;
mysql_query('TRUNCATE TABLE programy');
foreach($stacje as $i => $stacja) {
foreach($dni as $j => $dzien) {
if($html = file_get_html('http://tv.wp.pl/program.html?name='.$stacja['kod'].'&stid='.$stacja['nr'].'&date='.$dzien.'&time=')) {
foreach($html->find('div.program') as $e) {
$html2 = str_get_html($e->innertext);
$godzina = $html2->find('div.programL strong', 0);
$godzina_text = iconv('ISO-8859-2', 'UTF-8', $godzina->innertext);
$program = $html2->find('div.programR h4 a', 0);
$program_text = iconv('ISO-8859-2', 'UTF-8', $program->innertext);
echo 'INSERT INTO programy (id, dzien, godzina, stacja, program) VALUES (NULL, \''.$dzien.'\', \''.$godzina_text.'\', \''.$stacja['nazwa'].'\', \''.$program_text.'\');<br />'.PHP_EOL;
mysql_query('INSERT INTO programy (id, dzien, godzina, stacja, program) VALUES (NULL, \''.$dzien.'\', \''.$godzina_text.'\', \''.$stacja['nazwa'].'\', \''.$program_text.'\')');
}
}
}
}
?>
edit:
Includeowane pliki:
mysql.php - połączenie z serwerem MySQL, wybranie bazy i ustawienie kodowania;
simple_html_dom.php - klasa o tej samej nazwie, służy do wyciągania elementów z kodu html, coś jak JSowe getElementById.