@hrvasiliy

Что я делаю не так при парсинге?

Имеется сайт-донор, пытаюсь взять с него информацию и записать ее в файл. (Дней 10-15 назад все отлично парсилось при момощи CURL'a). Сейчас же, в файл записывается информация о том, что требуется включить JS, меняю метод получения страницы с CURL'a на PhantomJS и выдает ту же ошибку. Не понимаю, сайт-донор усилил защиту? Как же тогда получать информацию?

function curl($url, $userAgent = null, $proxy = null, $referer = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$out = curl_exec($curl);
curl_close($curl);

return $out;
}
  • Вопрос задан
  • 712 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
сайт-донор усилил защиту?
Вероятно. Зайдите с чистого бразузера (приватный режим вам в помощь), посмотрите какие куки создаются, добавьте их в запрос CURL.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Активировав максимальный уровень телепатии, предположу следующее.

информация о том, что требуется включить JS

Сайт донор перешел на ajax и подгрузку данных основных через js.
Пользователям без js выдается заглушка с просьбой включить js, что вы и видите в ответе CURL.

Посмотрите какие ajax запросы шлет страница донор на сервер и попытайтесь воспроизвести их через curl уже у себя на сервере.
Ответ написан
Обратитесь с этим вопросом к разработчикам сайта-"донора". Попросите совета, поинтересуйтесь наличием API или возможности сделать выгрузку базы. В идеале, расскажите им, как вас можно найти в реальном мире, тогда высока вероятность, что они сами всё сделают.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽