Сегодня мне задали вопрос “Как узнать сигнатуру для сайта с которого будешь грабить?”

Потому я решил написать небольшую практическую статью о том, как правильно составить сигнатуру для парсинга сайта источника:

для примера возьмём источник xttp://allcredits.ru/rss/

последовательность действий которые нужно выполнить:

1. открываем ленту браузером- я использую Firefox

RSS

2. далее открываем любую публикацию из тех что есть в ленте, например эту xttp://www.allcredits.ru/1/15346/

Источник

3. открываем исходный код публикации (source code) и ищем где в коде находится текст публикации, которую собственно мы будем грабить.

4. Суть метода: нужно составить такую комбинацию тэгов и команд {get} и {skip} чтобы парсер чётко знал какой участок грабить а какой пропустить. Напомню что команда {get} дает указание парсеру грабить, а команда {skip} - пропустить.

Парсер работает по принципу: ищем метку, грабим или пропускаем до следующей метки и так далее. Метками выступают в данном случае участки ХТМЛ кода.
Рассмотрим на примере - вот исходный код страницы источника:

HTML

в ХТМЛ коде самым близким уникальным тэгом к участку который нужно сграбить, есть код <span class=”date”>. Также, можно заметить что контент заканчивается тэгом <br clear=all>.

Остался маленький нюанс: нам нужно выбросить дату “5 июня 2008 года”, в это нам поможет команда {skip}.

Следовательно сигнатурой для парсинга этого источника будет “<span class=date>{skip}</span>{get}<br clear=all>“.

Эту команду нужно добавить в парсер в поле “Get content:

Запускаем парсер, получаем результат:

Результат парсинга

Возможно кто-то заметил, что парсер как-то по другому работает, а именно добавление публикации происходит не так как в версии 1.4.x, а после парсинга каждой публикации, она сразу добавляется в блог. Это потому, что я использовал в этом обзоре новую версию парсера 1.5, которую сейчас тестируем. Также замечу, что добавление публикаций происходит через XML-RPC. Зачем это нужно? Очень нужно! Так как теперь без проблем будет работать кросспостинг в Лайвжорнал, и пинг, а также многое другое!

Будь как всежий огурец! Подпишись на RSS! :)