Задать вопрос
@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;
}
  • Вопрос задан
  • 714 просмотров
Подписаться 3 Оценить 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Stalker_RED
@Stalker_RED
сайт-донор усилил защиту?
Вероятно. Зайдите с чистого бразузера (приватный режим вам в помощь), посмотрите какие куки создаются, добавьте их в запрос CURL.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Активировав максимальный уровень телепатии, предположу следующее.

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽