CURL/PHP скачать страницу (CURL скачать код страницы)


Часто при написании парсеров или других программ для скачки информации с чужого сайта, требуется функция чтобы скачать HTML код другого сайта.

Для решения этой проблемы можно использовать функцию PHP - file_get_contents(), но работает она не всегда. Настройки безопасности сервера, не всегда позволят скачать исходный код страницы

Аналог этой функции я написал на CURL, которая будет работать независимо от настроек сервера:

$code = get_html_code_url("lavrik-v.ru"); // Скачиваю код страницы
echo htmlspecialchars($code); // Вывожу на экран

function get_html_code_url($url) {
    $curl = curl_init(); // Инициализирую CURL
    curl_setopt($curl, CURLOPT_HEADER, 0); // Отключаю в выводе header-ы
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //Возвратить данные а не показать в браузере
    curl_setopt($curl, CURLOPT_URL, $url); // Указываю URL
    $code = curl_exec($curl); // Получаю данные
    curl_close($curl); // Закрываю CURL сессию
    return $code;
}

Стоит обратить внимание на строчку "echo htmlspecialchars($code);". Здесь я использую функцию  htmlspecialchars() для того, чтобы вывести на экран HTML код в виде текста. В этом случае браузер не будет его интерпретировать как верстку сайта.

Данная функция скачает только исходный код страницы, указанной в параметре. Прикрепленные к сайту CSS файлы и изображения скачиваться не будут.

Вот и все. Весь код подробно прокомментирован, думаю сложностей не должно возникнуть.

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика