Как узнать сигнатуру для сайта с которого будешь грабить?

05.06.2008 Mike
Добавить пост в: Google slashdot YahooMyWeb Digg Technorati Delicious Забобрить эту страницу! Добавить на Newsland.ru Добавить на СМИ2 Добавить на RUmarkz Добавить на Ваау! Добавить на rucity.com Добавить в закладки МоёМесто.ru
1 звезда2 звезды3 звезды4 звезды5 звезд (4 голосов, средний: 3 из 5)
Загрузка ... Загрузка ...

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

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

для примера возьмём источник 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. Зачем это нужно? Очень нужно! Так как теперь без проблем будет работать кросспостинг в Лайвжорнал, и пинг, а также многое другое!


Рубрики: Feedmaster |

Комментариев: 39

  1. tupo пишет:

    через XML-RPC очень круто и дает одну возможность, я к сожалению не знаю у Вас она реализована или нет, поэтому вопрос подсказка - можно настроить один блог с вашим скриптом на выделенном сервере так что бы он парсил источники, раскладывал по категориям и этот контент через XML-RPC пополнял другие блоги на других хостингах, тоесть один блог со скриптом для управления, остальные только для отображения напарсенного контента. если такой возможности нет, может вы её реализуете. очень заинтересован.

    [Ответить]

  2. Алекс пишет:

    сделал тоже самое
    feedmaster 1.4.4 plus

    на хостинге PHP Version 5.2.6
    получилось :
    Reading - catId: 0; source: http://allcredits.ru/rss/
    Array
    (
    )

    [Ответить]

  3. Mike пишет:

    с пхп 5.2.6 нужно использовать версию feedmaster 1.4.6. Напишите мне запрос на обновление.

    [Ответить]

  4. Mike пишет:

    2tupo: такой возможности в версии 1.5 не будет. но скажу по секрету, что она в плане на версию 1.6 :)

    [Ответить]

  5. tupo пишет:

    Mike, тогда второй вопрос, а когда ждать 1.6 ;-)

    [Ответить]

  6. Watman пишет:

    Скажите а что в wp-feedmaster.php при выводе означает checked ?
    В базе WP эти записи появляются , но в managet- не выводятся
    Как их вевести или удалить ?

    [Ответить]

  7. Mike пишет:

    2Watman: checked означает, что публикация не опубликована по какойто причине: например сработал фильтр запретных слов, или например выбрана сортировка по ключевым словам установлен “by keywords” а сам сортировщик не заполнен ключевыми словами.

    [Ответить]

  8. Mike пишет:

    2tupo: июль-август.

    [Ответить]

  9. www3 пишет:

    Уважаемый Автор!

    Сделайте, пожалуйста в версии 1.5 возможность подключать базу синонимов с удаленной БД.

    Спасибо!

    [Ответить]

  10. Mike пишет:

    в новой версии 1.5 база синонимов лежит в файле, база данных вообще не используется. Это связано с тем что на виртуальных хостингах возникали проблемы с нагрузкой на SQL сервер, потомы мы отказались от базы данных впринципе.

    [Ответить]

  11. Guest пишет:

    Майк, что-то вы затянули с версией 1.5, обещали еще в середине апреля, сейчас 24 июня.. так когда же обещанная версия выйдет?

    [Ответить]

  12. Mike пишет:

    2Guest: Тут как с красивой девушкой, чем больше ее гуляешь и ухаживаешь, тем приятнее потом ею обладать :). А если серьезно, то задержка вызвана тем, что техническое задание на версию 1.5 выросло в четыре раза, потому выход несколько раз откладывался. Сейчас мы тестируем новю версию, она уже готова. Вылавливаем ошибки, выпустим как только все ошибки устраним, это значит что уже очень скоро…

    [Ответить]

  13. ru.tv пишет:

    Скорее бы уже

    [Ответить]

  14. www3 пишет:

    Стоимость версии 1.5 будет 90 у.е. или выше? Это принципиально.

    [Ответить]

  15. Mike пишет:

    2www3: стоимость однозначно увеличиться.

    [Ответить]

  16. Hinin пишет:

    > стоимость однозначно увеличиться.

    А для уже купивших 1.4.* сколько будет???

    [Ответить]

  17. Mike пишет:

    2Hinin: Плз, не беспокойтесь, для всех, кто купил 1.4.x выше, апдейты бесплатно.

    [Ответить]

  18. ynas пишет:

    А в сигнатуре для парсинга можно несколько раз использовать инструкции {get} и {skip}?

    [Ответить]

  19. Mike пишет:

    2ynas: да, это возможно.

    [Ответить]

  20. Dmitr пишет:

    3 месяца задержки до новой версии - это слишком!

    Особенно, когда еще покупал думал, вот-вот на днях новая весия, как раз вовремя купил, а прошло-то четверть года.

    Ребята, ну вы как бы побыстрее хотелось бы… А то одни завтраки…

    Сейчас и на это сообщение, какой-нибудь стандартный программерский ответ будет :)

    [Ответить]

    Mike Reply:

    не хотел отвечать отговорками пока не сделали все.

    [Ответить]

  21. Serge пишет:

    Когда планируется выход версии 1,5?

    [Ответить]

    Mike Reply:

    выпустили

    [Ответить]

  22. tupo пишет:

    говорили что в июль-август будет уже 1.6 версия, такими темпами наверное в следующем году будет.

    [Ответить]

    Mike Reply:

    1.6 в плане через 3-4 недели

    [Ответить]

  23. poolk пишет:

    tupo проблема в защите, еслиб всякие бараны не барыжили и в паблик бы не выкладывали плагин, тогда бы нас ждал бы уже 1.7 версия

    [Ответить]

    Mike Reply:

    согласен… я бы и не внедрял защиту если бы не барыги…

    [Ответить]

  24. Halk пишет:

    Неужели поддержка плагина приказала долго жить?

    [Ответить]

    Mike Reply:

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

    [Ответить]

  25. Dark пишет:

    С такими темпами я на пенсии буду быстрей чем 1.5

    [Ответить]

    Mike Reply:

    надеюсь мы все на пенсию выйдем еще в молодом возросте. :) тое не работать и получать пассивный доход…

    [Ответить]

  26. Hinin пишет:

    Когда же прикрутите форум? Реально много вопросов возникает по ходу, которые пользователи решали бы сами и не беспокоили лишний раз разработчиков.

    [Ответить]

    Mike Reply:

    форум открыли, http://www.wpdot.com/forum пожалуста регистрируетесь!

    [Ответить]

  27. Chiki пишет:

    Майк,
    какие версии рсс поддерживает ваш скрипт.
    с некоторых сайтов контент выдирается, а с некоторых нет.
    No active feeds!
    или все тот же пустой массив
    Reading - catId: 1; source: http://www.site.ru/?feed=rss2
    заметил что с вордпресов ни с одного не смог вытащить контент хотя пробовал тащить даже с собственного где явно задал в каментах маркеры для вырезания

    [Ответить]

    Mike Reply:

    Поддерживает, ATOM, RSS, RSS2

    [Ответить]

  28. глюки пишет:

    в данном примере не правельное метку составил вордпресс

    Буковинаобграла
    Буковина обграла

    а также буква Iі украниская не записівается в БД

    “Буковина”обіграла ФК “Малин”
    написано в рубрике: Буковина — Метки: Буковинаобграла, Малин

    [Ответить]

    Mike Reply:

    Напишите плз на емейл, попробуем решить.

    [Ответить]

  29. Guest пишет:

    Добрый день тов-щи
    такое ощущение что проект перешел в стадию недвижимости и никто им не занимается, а тут для отписки ведуться какие-то коменты.
    обещали в еще апреле 1.5 версию.. скоро уже лето закончится. Майк, имхо это не серьёзно.

    [Ответить]

    Mike Reply:

    Новую версию выпустили :)

    [Ответить]

Оставьте свой отзыв!

Поиск:

Реклама:


Свежие записи

Категории

Облако

Последние комментарии:

Архив:

Мета: