r_vyacheslav
Гуру форума
- Регистрация
- 18 Авг 2015
- Сообщения
- 174
- Реакции
- 67
- Автор темы
- #1
Не могу получить значения с страницы: Для просмотра ссылки Войди или Зарегистрируйся... Не могу понять как спарсить курс, помогите разобраться и подскажите где ошибка. Проблема кроется где-то в разборе json мне так кажеться...
Мой фрагмент кода:
Мой фрагмент кода:
Код:
$html = file_get_html('https://kharkov.obmenka.ua/USD-UAH');
$json = '';
foreach($html->find('script') as $e) {
if (strpos($e->innertext,'window.obmenkaData') !== false) {
$json = str_replace('window.obmenkaData = ', '', $e->innertext);
$json = str_replace(';', '', $json);
break;
}
}
if ($json) {
$manage = json_decode($json);
$valUSD = $manage->rates[0]->amountRetailTo;
$valEUR = $manage->rates[1]->amountRetailTo;
$codEUR="EUR";
$codUSD="USD";
date_default_timezone_set('Europe/Kiev');
$date=date('Y-m-d H:i:s');
$stmt = $db->query("SELECT * FROM " . DB_PREFIX . "currency");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['code'] ;
switch ($row['code']){
case 'UAH':
break;
case $codEUR:
if(($valEUR == true) && number_format($valEUR, 2, '.', '') != number_format($row['value'], 2, '.', '')){
$db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($valEUR, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codEUR . "'");
repriceProducts($row['currency_id'], $valEUR, $db);
echo $row['currency_id']."--".$valEUR."<br>";
}
break;
case $codUSD:
if(($valUSD == true) && number_format($valUSD, 1, '.', '') != number_format($row['value'], 1, '.', '')){
$db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($valUSD, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codUSD . "'");
repriceProducts($row['currency_id'], $valUSD, $db);
echo $row['currency_id']."--".$valUSD."<br>";
}
break;
}
}
$defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='USD'")->fetch(PDO::FETCH_ASSOC);
echo ' Курс обновился в ('.$defaultd['date_modified'].')';
}