Парсинг курса валют с yandex.ru — PHP

php код, парсер валют с яндекса - регулярка

Похожие материалы

  • No related post.

Иногда на сайте требуется установить виджет курсов валют. В сети множество различных скриптов, но большинство из них имеют встроенные обратные исходящие ссылки, что для SEO продвижения не очень хорошо.

Вот простенький код с использованием PHP и регулярных выражений. Данные будем брать с главной страницы Яндекса — yandex.ru

mos7ya

<?PHP

$hostname = «localhost»;    //     //хост
$username = «admin»;     //пользователь к базе Mysql
$password = «jtyjutbjtjjbtkkuit»;       //пароль к базе mysql
$dbName = «c4474_site»;  //Имя базы данных
mysql_connect($hostname, $username, $password, $table) or die («Не могу создать соединение»);
mysql_select_db($dbName) or die (mysql_error());

mysql_query(«SET CHARACTER SET utf8″);  //запрос к базе mysql кодировка utf-8

 

//*****************парсинг долара********************************

$file = ‘https://www.yandex.ru’;  //сайт с которого будем парсить
$search_w = ‘<div class=»b-inline inline-stocks__item inline-stocks__item_id_1 hint__item»>’; //откуда ищем
$search_o = ‘<span class=»link__inner»>’; //до куда ищем
$search_s = strlen($search_w);//подсчёт символов в $search_w
ini_set(«display_errors», 0);
$string = file_get_contents($file);
if (!$string) continue;
$string = substr($string, strpos($string, $search_w));
$string = substr_replace($string, «», strpos($string, $search_o));
$string = substr($string, $search_s);

 

//****************парсинг даты курсов валют***********************************
$file_date = ‘https://www.yandex.ru’;
$search_j = ‘<span class=»inline-stocks__item__baloon_inner»>курс ЦБ РФ на ‘;//откуда ищем
$search_l = ‘</span>’;//до куда ищем
$search_x = strlen($search_j);//подсчёт символов в $search_w
ini_set(«display_errors», 0);
$stringt = file_get_contents($file_date);
if (!$stringt) continue;
$stringt = substr($stringt, strpos($stringt, $search_j));
$stringt = substr_replace($stringt, «», strpos($stringt, $search_l));
$stringt = substr($stringt, $search_x);
//echo $stringt;
//***************************************************************************
$restusd = substr($string, 468, -2155);  //уменьшаем количество знаков для доллара

$restusd = preg_replace(‘/[^0-9,]/’, », $restusd); //все кроме цифр и запятой (получаем только курс USD к примеру 62,30)

$resteur = substr($string, 1255, -1365);
$resteur = preg_replace(‘/[^0-9,]/’, », $resteur); //все кроме цифр и запятой для Евро

$get_curency = ‘sssUSD ЦБbbbb ‘.$restusd .»&nbsp».»&nbsp».» sssEUR ЦБ bbbb».$resteur; //Добавляем описание к валютам, и метки.

$get_curency = str_replace(‘sss’, «<b>», $get_curency);  //заменяем метки на открывающий тег жирного шрифта
$get_curency = str_replace(‘bbbb’, «</b>», $get_curency); //заменяем метки на закрывающий тег жирного шрифта.

$new_curency = ‘на ‘.$stringt.»&nbsp».»&nbsp».$get_curency; //объединяем все переменные

echo $new_curency;  //выводим на экран что получилось!!!

//далее можем записать данные в базу данных сайта.

mysql_query(«UPDATE `wp_curency` SET `user_pass`= ‘$new_curency’ WHERE id=’2′»);  //записываем данные в ячейку user_pass у которой id=2, в таблице wp_curency

 

?>

 

Написать комментарий