Сам скрипт:
<?php
include('../sms/db.php');
mysql_query("SET NAMES utf8");
date_default_timezone_set('Europe/Kiev');
if($_POST) {
$cat = $_POST['cat'];
$cat = stripslashes($cat);
$cat = htmlspecialchars($cat);
$cat = trim($cat);
$offer = $_POST['offer'];
$offer = stripslashes($offer);
$offer = htmlspecialchars($offer);
$offer = trim($offer);
$date = date('d.m.Y, H:i');
$urls = explode(',', $offer);
$i=0;
$phones = '';
foreach($urls as $item) {
if($i>10) break;
$url = $item;
$cookie_path = $_SERVER['DOCUMENT_ROOT'].'/cookie.dat';
preg_match('|-ID(.*).html|', $url, $id);
$olx = curl_init($url);
curl_setopt($olx, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($olx, CURLOPT_RETURNTRANSFER, true);
curl_setopt($olx, CURLOPT_HEADER, 1);
curl_setopt($olx, CURLOPT_COOKIEFILE, $cookie_path);
curl_setopt($olx, CURLOPT_COOKIEJAR, $cookie_path);
$result = curl_exec($olx);
curl_close($olx);
preg_match("|phoneToken = '(.*)';|", $result, $token);
$olx_number = curl_init('https://www.olx.ua/ajax/misc/contact/phone/' . $id[1] . '/?pt=' . $token[1]);
curl_setopt($olx_number, CURLOPT_HTTPHEADER, [
'Host: www.olx.ua',
'Accept: */*',
'Accept-Language: uk,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding: gzip, deflate, br',
'Connection: keep-alive',
'X-Requested-With: XMLHttpRequest'
]);
curl_setopt($olx_number, CURLOPT_REFERER, $url);
curl_setopt($olx_number, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($olx_number, CURLOPT_COOKIEFILE, $cookie_path);
curl_setopt($olx_number, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($olx_number, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($olx_number);
curl_close($olx_number);
$json = json_decode($result);
$phones .= $json->value . ',';
}
echo $phones;
mysql_query("INSERT INTO `olx` (`cat`, `phones`, `date`) VALUES ('{$cat}', '{$phones}', '{$date}');");
} // if post
?>
Он получает в переменную $offer все ссылки через запятую, с которых нужно парсить. Но я вижу, что это неправильно, каждый раз в цикле заново делать curl и т.д. Помогите оптимизировать, пожалуйста.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача: Рекурсивно описать функцию Head3(N), которая вычисляет число, получаемое приписыванием слева цифры 3 к десятичной записи целого положительного...
Сильно ли использование srand(time(NULL)) замедляет код, если эта функция выполняется в цикле наряду с остальным кодом? (примерно 10000 итераций в секунду,...
На данный вопрос уже ответили:
не могу понять , в чём ошибка , пытаюсь просто для начала вывести id из БД oracle