Голосование
Какую CMS Вы предпочитаете
AtomX
Fapos CMS
Drunya CMS
Топ новостей
- Генератор аватарок в стиле пиксель-арт
- Скачать Fapos CMS 1.1.8 Бесплатно
- Цунами в Японии. Последствия.
- Предварительная инфа о FAPOS 1.1.9. Часть 2
- Описание версии CMS Fapos 0.9.9
- Новая версия Fapos 1.3
- Половина россиян не смогла отличить легальный контент
- Что есть Fapos CMS
- Убийца Apache у вас на пороге
- Открытое тестирование Fapos 0.9.9
Последние комментарии
Топ пользователей
Сайты на AtomX CMS
В этой статье реч пойдет о том, что называют граберами или парсерами на PHP. На самом деле я всего лишь раскрою технологию, которая очень проста, а превращать ее в парсер или грабер ваше дело. Как я уже сказал, все очень просто. Давай ка разберем что вообще мы хотим сделать, тогда проще будет понять все остальные телодвижения. Чаще всего нам надо получить текст с другого сайта. Для этого нам нужен исходный код страниц, который можно получить с помощью PHP. Самый простой способ это когда мы знаем адрес нужной страницы и просто получаем ее код, например так
Это очень простой способ. Можно скормить скрипту файл с адресами и он их обшарит. В самом скрипте можно вести обработку полученного кода, например вырезать новости или заголовки. Но что делать если сайт требует авторизации или особых заголовков. Сейчас большинство сайтов имеют такую защиту(нормальных сайтов). Тогда на на помощь приходит curl. Че за хрень, спросят некоторые, я отвечу. Это библиотека на PHP для работы с HTTP. Она умеет выставлять заголовки, куки и еще много чего. Самый просто запрос на curle будет выглядеть примерно так
Согласись, не так сложно, если учесть, что с помощью этого мы можем управлять куками и заголовками, а так же еще кучей приколов. Взять к примеру возможность не следовать редиректу или транслировать пост данные. К стати как передавать POST я и расскажу. Для этого наши данные должны иметь вид
пример передачи POST данных через CURL
Думаю все уже догадались что после всех этих манипуляций, исходный код целевой страницы находится в переменной $responseData. Ну вот мы и получили HTML код странички и теперь можем его обрабатывать.
В следующей части я расскажу как получать доступ к страницам с авторизацией и автоматизировать процесс. Ведь данная технология позволяет запустить грабер, дав ему ссылку целевого сайта и пойти заниматься своими делами, пока он добудет все необходимое
1
2
<?php $data = file_get_contents('http://target.com');?>
Это очень простой способ. Можно скормить скрипту файл с адресами и он их обшарит. В самом скрипте можно вести обработку полученного кода, например вырезать новости или заголовки. Но что делать если сайт требует авторизации или особых заголовков. Сейчас большинство сайтов имеют такую защиту(нормальных сайтов). Тогда на на помощь приходит curl. Че за хрень, спросят некоторые, я отвечу. Это библиотека на PHP для работы с HTTP. Она умеет выставлять заголовки, куки и еще много чего. Самый просто запрос на curle будет выглядеть примерно так
1
2
3
4
5
6
7
8
9
<?php //инициализируем сеанс
$ch = curl_init('http://target.com');
//устанавливаем параметры
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//делаем запрос
$responseData = curl_exec($ch);
//закрываем сеанс
curl_close($ch);?>
Согласись, не так сложно, если учесть, что с помощью этого мы можем управлять куками и заголовками, а так же еще кучей приколов. Взять к примеру возможность не следовать редиректу или транслировать пост данные. К стати как передавать POST я и расскажу. Для этого наши данные должны иметь вид
Code:
переменная=значение&переменная2=значение2...
пример передачи POST данных через CURL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php //устанавливаем что будем посылать
$reguestParams = 'var=value&var2=value2';
//инициализируем сеанс
$ch = curl_init('http://target.com');
//устанавливаем параметры
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//говорим что мы собираемся передавать данные и что именно передавать
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $reguestParams);
//делаем запрос
$responseData = curl_exec($ch);
//закрываем сеанс
curl_close($ch);?>
Думаю все уже догадались что после всех этих манипуляций, исходный код целевой страницы находится в переменной $responseData. Ну вот мы и получили HTML код странички и теперь можем его обрабатывать.
В следующей части я расскажу как получать доступ к страницам с авторизацией и автоматизировать процесс. Ведь данная технология позволяет запустить грабер, дав ему ссылку целевого сайта и пойти заниматься своими делами, пока он добудет все необходимое
Как обчистить чужой сайт - Нет проблем
Теги: грабер; парсер; CURL PHP; Грабер сайтов; Как грабить контент;
Источник: Drunya
Теги: грабер; парсер; CURL PHP; Грабер сайтов; Как грабить контент;
Источник: Drunya
Сейчас online: 94. Зарегистрированных: 0. Гостей: 94.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Программирование - что может быть проще.
Программирование - что может быть проще.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Написание простого вируса в блокноте
Что такое API и для чего они нужны
Классы в PHP для чайников
Написание простого вируса в блокноте