file_get_contents

images

    Да… да… да… не удивляйтесь. С помощью этого оператора можно достаточно успешно парсить сайты. Этот инструмент, довольно простой, но не менее эффективный! К тому же является встроенным в PHP. Минусом является невозможность проводить парсинг в несколько потоков и должна быть включена опция fopen wrappers
Давайте подробно рассмотрим как это сделать. Ссылка на документацию — file_get_contents
1. Для начала создадим контекст потока:

$opts = array(
 'http'=>array( "method" => "GET",
 "timeout" => 20, 
 "header" => "User-agent: Myagent", 
 "proxy" => "tcp://my-proxy.localnet:3128"
 )
 );
$context = stream_context_create($opts);

В массиве мы задаем, что будет использоваться протокол — HTTP с настройками:

  • method — Метод обращения — GET
  • timeout — максимальное время ожидания страницы в секундах
  • header — указываем текст заголовка запроса. В частности с помощью «User-agent» — указываем, как мы будем представляться на сервере. Т.е. фактически указываем идентификатор браузера. В данном случае представляемся как: «Myagent». Список возможных идентификаторов браузеров находится здесь. Прочитать зачем он нужен, можно здесь.
  • proxy — задаем прокси, если нужен.

2. Теперь собственно сам оператор получение Web страницы:

$file = file_get_contents(‘http://www.example.com/’, false, $context);

    Вот такими несложными операциями мы помещаем содержимое заданной страницы: «www.example.com» в переменную — $file. Более подробно можно прочитать на официальной странице документации по PHP — file_get_contents


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *