15
Июн
2017

Парсинг посредством Curl

Добрый день. Пытаюсь получить данные с сайта azlyrics.com Код следующий:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://azlyrics.com');
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36');
curl_setopt($ch, CURLOPT_TIMEOUT,5); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Host: www.azlyrics.com',
'Connection: keep-alive',
'Cache-Control: max-age=0',
'Upgrade-Insecure-Requests: 1',
'User-Agent: Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/58.0.3029.110 Safari/537.36',
'Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding: gzip, deflate, sdch',
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
'Cookie: __atuvc=1%7C20%2C0%7C21%2C2%7C22%2C11%7C23%2C17%7C24; 
__utma=190584827.275519439.1495187050.1497360209.1497447294.9; 
__utmz=190584827.1497447294.9.6.utmcsr=azlyrics.com|utmccn=
(referral)|utmcmd=referral|utmcct=/'
));

curl_exec($ch); 
if(curl_errno($ch))
{
    echo 'Ошибка curl: ' . curl_error($ch);
}
curl_close($ch); 

Выдает ошибку "Empty reply from server". Другие же сайты парсятся нормально. Что не так с этим не могу понять. Возможно и в коде у меня какая-то мелкая ошибка, или на сайте защита от парсинга непростая стоит. Вообщем направьте пожалуйста на путь истинный. Интересно понять в чем же там проблема.

P.S.: смена хостинга решила данную проблему

Источник: https://ru.stackoverflow.com/questions/679535/%D0%9F%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3-%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%BE%D0%BC-curl

Share

Тебе может это понравится...