Голосование
Какую 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
И так, из предыдущих статей мы уже знаем как посылать запросы, получать данные, формировать заголовки и даже проходить авторизацию при помощи CURL. Но один вопрос все еще открыт. Как автоматизировать процесс? Вот об этом я и хотел написать в этой части статьи. За пример возьмем обычный запрос с использованием библиотеки CURL
Если запрос будет удачным и страница существует, мы получим ее код HTML. Теперь для автоматизации процесса парсинга нам необходимо определиться с тем что мы вообще делаем. Давай разберем пример когда нам нужно получить список страниц с текущей страницы, например в каком нибудь каталоге статей. Тогда мы должны в ручную посмотреть код сайта, который будем парсить и определить в каком виде у него эти самые ссылки. Обычно это что-то вроде
тогда для нахождения этих ссылок мы можем воспользоваться регулярным выражением вроде этого
это очень упрощенный вариант. Конечно нужно позаботиться о проверке ссылок, например для того что бы не лезть на одну и ту же страницу несколько раз и так далее. Режим такого поиска может быть многоуровневым, таким образом вы можете начала парсить страницы, а за тем на этих страницах материалы. Попадая в просмотр материала, выдерать его содержимое и возможно в этом содержимом искадь еще ссылки и следовать по ним. Таким образом можно писать очень мощные парсеры.
Но смотрите, грабинг сайтов не очень хорошее занятие я лишь показал вам технологию, а как ее применять ваше личное дело. Я например использую это для автоматизации некоторых вещей. По такому же принцыпу можно писать ботов, которые будут проверять сайты, например на наличие на них ваших ссылок или что-то в этом духе. Поисковые роботы работают по такому же принцыпу, хотя и не на PHP.
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);?>
Если запрос будет удачным и страница существует, мы получим ее код HTML. Теперь для автоматизации процесса парсинга нам необходимо определиться с тем что мы вообще делаем. Давай разберем пример когда нам нужно получить список страниц с текущей страницы, например в каком нибудь каталоге статей. Тогда мы должны в ручную посмотреть код сайта, который будем парсить и определить в каком виде у него эти самые ссылки. Обычно это что-то вроде
Code:
http://target.net/stat?page=.....
тогда для нахождения этих ссылок мы можем воспользоваться регулярным выражением вроде этого
1
2
3
4
5
6
7
<?php //пытаемся найти ссылки на другие страницы
if (preg_match_all('#href="(http://target.net/stat?page=[\d]+)"#i', $responseData, $matches)) {
//если есть перебираем все совпадения
foreach ($matches as $match) {
//тут посылаем запрос на все найденные страницы по очереди
}
}?>
это очень упрощенный вариант. Конечно нужно позаботиться о проверке ссылок, например для того что бы не лезть на одну и ту же страницу несколько раз и так далее. Режим такого поиска может быть многоуровневым, таким образом вы можете начала парсить страницы, а за тем на этих страницах материалы. Попадая в просмотр материала, выдерать его содержимое и возможно в этом содержимом искадь еще ссылки и следовать по ним. Таким образом можно писать очень мощные парсеры.
Но смотрите, грабинг сайтов не очень хорошее занятие я лишь показал вам технологию, а как ее применять ваше личное дело. Я например использую это для автоматизации некоторых вещей. По такому же принцыпу можно писать ботов, которые будут проверять сайты, например на наличие на них ваших ссылок или что-то в этом духе. Поисковые роботы работают по такому же принцыпу, хотя и не на PHP.
Как обчистить чужой сайт - Нет проблем. ЧАСТЬ 3(АВТОМАТИЗАЦИЯ)
Теги: грабер; парсер; CURL PHP; Грабер сайтов; Как грабить контент;
Источник: Drunya
Теги: грабер; парсер; CURL PHP; Грабер сайтов; Как грабить контент;
Источник: Drunya
Сейчас online: 97. Зарегистрированных: 0. Гостей: 97.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Программирование - что может быть проще.
Программирование - что может быть проще.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Написание простого вируса в блокноте
Что такое API и для чего они нужны
Классы в PHP для чайников
Написание простого вируса в блокноте