kapusta77

kapusta77
Рейтинг
61
Регистрация
31.07.2014
Дикий пионер:

У вас, кстати, post-запрос и параметры передаются тоже через post, а на самом сайте - через адрес страницы. Попробуйте так же сделать, может в этом проблема?

Вы правы! Сделал так:


curl_setopt($ch, CURLOPT_URL, "https://www.linkpad.ru/default.aspx?r=3&i=avto.ru");

Пришла нужная страничка.

Спасибо!

Погуглил, ошибка была в том, что я в заголовке указал, что принимаю сжатые данные gzip.

Я закомментировал строчку:

"Accept-Encoding: gzip, deflate, br"

Теперь приходит ответ в html, но там нет нужных мне данных, в исходном коде полученной страницы:

<div class="nodisplay"><span id="loading">

Загрузка...</span></div>

Видимо, данные подгружаются постепенно.

---

Что еще попробовать?.. как получить данные?

Дикий пионер, спасибо, что откликнулся!

Получается, задача свелась к отправке ajax-запроса из php curl.

Делаю так:

1) Отправляю запрос на поиск по домену, чтобы получить куки.

2) Делаю ajax-запрос с полученной кукой (остальные заголовки копирую из хрома).

В итоге:

Приходят "кракозябры", в хроме менял кодировку - ничего не подходит.

Ниже я приложил код, в чем может быть ошибка?


// Делаю поиск по домену, чтобы получить cookies
$ch = curl_init('https://www.linkpad.ru/?search=avto.ru');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);

$result = curl_exec($ch);

preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = implode("; ", $matches[1]);

curl_close($ch);


// Делаю ajax-запрос с полученной cookie
$headers = [ "Accept: text/html, */*; q=0.01",
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4",
"Connection: keep-alive",
"Content-Length: 0",
"Content-Type: application/x-www-form-urlencoded",
"Cookie: " . $cookies,
"Host: www.linkpad.ru",
"Origin: https://www.linkpad.ru",
"Referer: https://www.linkpad.ru/?search=avto.ru",
"User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",
"X-Requested-With: XMLHttpRequest",
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.linkpad.ru/default.aspx");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "r=3&i=avto.ru");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

echo $result;

curl_close($ch);

Подниму свою старую тему.

Столкнулся с новой проблемой:

- Надо распарсить страницу https://www.linkpad.ru/?search=avto.ru

значение "Доноры" в правой колонке.

- Контент тоже генерируется в скриптах javascript

- Через network в инструментах разработчика не смог найти запрос, по которому подгружают данные.

Прошу помочь.

Круто!

Спасибо, Дикий пионер!

Пробую вариант, предложенный foxi:

- На папку /var/www/User1/data/archives устанавливаю права 777

- Под пользователь User2 выполняю php-скрипт (просто сканирую папку /var/www/User1/data/archives), в результате ошибка: Permission denied

---

Что делаю не так?

Оптимизайка, спасибо!

Разобрался.

Я не правильно указал путь до интерпретатора php.

К сожалению, в справке нет информации, как включить расписание в модуле Контроль.

Ниже я описал, как делаю, но у меня не работает!

Поправьте, пожалуйста, как надо делать.

1) Добавляю в крон команду:

http://f-picture.net/lfp/s018.radikal.ru/i526/1503/98/51e315870562.jpg/htm

2) Настраиваю расписание для сайта в панели:

http://s017.radikal.ru/i423/1503/bf/141717ccab72.jpg

3) Прошло уже более суток - ни разу не запустилось расписание:

http://s018.radikal.ru/i501/1503/dd/451ed2a25d43.jpg

12
Всего: 19