Гарантия на парсинг


У вас никогда не возникал вопрос, почему нет версий парсеров или грабберов для популярных сайтов, которые бы работали долгое время? Да и те, которые есть, могут работать с перебоями? Ответ прост – сайты меняются. Давайте рассмотрим пример.

Предположим, нам необходимо спарсить картинки к люстрам из одного крупного интернет-магазина. Создаем простейший скрипт на php с использованием исходящих подключений и CURL. Воспользуемся готовой функцией получения страницы на php из данной заметки - get_page(). Листинг с комментариями:

//Получаем из файла с адресами светильников массив этих самых адресов
$lines = file('адрес_файла_с_url_товаров');

for ($i=0;$i<50;$i++) {

$ur = str_replace("\n", "", $lines[$i]);	

$result = get_web_page($ur);
if (($result['errno'] != 0 )||($result['http_code'] != 200))
    {
	echo $result['errmsg'];
	}
else
	{
	$page = $result['content'];
	$page = iconv('CP1251', 'UTF-8', $page);

	//обрезаем текст ДО:
	$pos = strpos($page, '<div class="slider-block">');
	$page = substr($page, $pos + 43);
	//Обрезаем ПОСЛЕ
	$pos = strpos($page, '" data-fancybox=');
	$page = substr($page, 0, $pos);

$pos1 = stripos($page, "ta-fancybox"); 

	if ($pos1 === false) {
echo $irr = "".$page."<br />" ;
	}
	else echo "-<br />";
}	
	}
На выходе мы получаем файл с адресами картинок светильников. Но смотрите, а что если владелец сайта-донора решит немного изменить разметку? Как видим, тут используются две метки:



А если изменится название класса? Или исчезнет перенос строки? Вся система может сразу сбиться.

Именно поэтому, никто не может дать гарантию на парсинг – популярные сайты постоянно меняются. Иногда посетитель и не замечает, а внутренняя структура уже другая. Причем здесь я не говорю о защите – это не редкость и при простых изменениях.

Так что лично я не даю гарантии на скрипты или программы, которые пишу для парсинга. Они могут прекратить работу в любой момент - как только изменится формат сайта-донора. Однако, даже если это и происходит, то чаще всего требуется незначительно поправить скрипт, чтобы он вновь выдавал желаемые результаты. И так как этот скрипт писал я же, то исправление занимает минимум времени и денег. Либо же я иногда работаю и по другой схеме: продаю не скрипт, а результат. Например, требуется спарсить по несколько сотен наименований каждого бренда (дается список). В этом случае, на выходе я должен выдать результат, а изменился ли за время работы сайт-донор или нет - это уже мои проблемы.

Напоминаю, что вы в любое время можете обратиться ко мне за помощью (почта - up777up@yandex.ru, скайп - up777up2) по парсингу, граббингу, написанию скриптов на PHP или других языках. Любой функционал для сайта, сайты-визитки, интернет-магазины, блоги, онлайн игры, буксы - есть опыт работы в с несколькими десятками онлайн проектов различной сложности. Некоторые проекты остаются на постоянном администрировании долгие годы.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, парсинг, граббинг, php, curl




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Свой скрипт для чужого сайта
Пара слов о серии "Плоский мир"
Урок 13. Индексаторы C#