Как узнать сигнатуру для сайта с которого будешь грабить?
Mike
Сегодня мне задали вопрос “Как узнать сигнатуру для сайта с которого будешь грабить?”
Потому я решил написать небольшую практическую статью о том, как правильно составить сигнатуру для парсинга сайта источника:
для примера возьмём источник xttp://allcredits.ru/rss/
последовательность действий которые нужно выполнить:
1. открываем ленту браузером- я использую Firefox
2. далее открываем любую публикацию из тех что есть в ленте, например эту xttp://www.allcredits.ru/1/15346/
3. открываем исходный код публикации (source code) и ищем где в коде находится текст публикации, которую собственно мы будем грабить.
4. Суть метода: нужно составить такую комбинацию тэгов и команд {get} и {skip} чтобы парсер чётко знал какой участок грабить а какой пропустить. Напомню что команда {get} дает указание парсеру грабить, а команда {skip} - пропустить.
Парсер работает по принципу: ищем метку, грабим или пропускаем до следующей метки и так далее. Метками выступают в данном случае участки ХТМЛ кода.
Рассмотрим на примере - вот исходный код страницы источника:
в ХТМЛ коде самым близким уникальным тэгом к участку который нужно сграбить, есть код <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 |







5 июня 2008 в 21:46
через XML-RPC очень круто и дает одну возможность, я к сожалению не знаю у Вас она реализована или нет, поэтому вопрос подсказка - можно настроить один блог с вашим скриптом на выделенном сервере так что бы он парсил источники, раскладывал по категориям и этот контент через XML-RPC пополнял другие блоги на других хостингах, тоесть один блог со скриптом для управления, остальные только для отображения напарсенного контента. если такой возможности нет, может вы её реализуете. очень заинтересован.
[Ответить]
6 июня 2008 в 05:01
сделал тоже самое
feedmaster 1.4.4 plus
на хостинге PHP Version 5.2.6
получилось :
Reading - catId: 0; source: http://allcredits.ru/rss/
Array
(
)
[Ответить]
6 июня 2008 в 07:46
с пхп 5.2.6 нужно использовать версию feedmaster 1.4.6. Напишите мне запрос на обновление.
[Ответить]
6 июня 2008 в 07:53
2tupo: такой возможности в версии 1.5 не будет. но скажу по секрету, что она в плане на версию 1.6
[Ответить]
6 июня 2008 в 09:46
Mike, тогда второй вопрос, а когда ждать 1.6
[Ответить]
6 июня 2008 в 10:41
Скажите а что в wp-feedmaster.php при выводе означает checked ?
В базе WP эти записи появляются , но в managet- не выводятся
Как их вевести или удалить ?
[Ответить]
6 июня 2008 в 21:25
2Watman: checked означает, что публикация не опубликована по какойто причине: например сработал фильтр запретных слов, или например выбрана сортировка по ключевым словам установлен “by keywords” а сам сортировщик не заполнен ключевыми словами.
[Ответить]
6 июня 2008 в 21:26
2tupo: июль-август.
[Ответить]
21 июня 2008 в 10:14
Уважаемый Автор!
Сделайте, пожалуйста в версии 1.5 возможность подключать базу синонимов с удаленной БД.
Спасибо!
[Ответить]
21 июня 2008 в 18:50
в новой версии 1.5 база синонимов лежит в файле, база данных вообще не используется. Это связано с тем что на виртуальных хостингах возникали проблемы с нагрузкой на SQL сервер, потомы мы отказались от базы данных впринципе.
[Ответить]
23 июня 2008 в 20:49
Майк, что-то вы затянули с версией 1.5, обещали еще в середине апреля, сейчас 24 июня.. так когда же обещанная версия выйдет?
[Ответить]
24 июня 2008 в 11:30
2Guest: Тут как с красивой девушкой, чем больше ее гуляешь и ухаживаешь, тем приятнее потом ею обладать :). А если серьезно, то задержка вызвана тем, что техническое задание на версию 1.5 выросло в четыре раза, потому выход несколько раз откладывался. Сейчас мы тестируем новю версию, она уже готова. Вылавливаем ошибки, выпустим как только все ошибки устраним, это значит что уже очень скоро…
[Ответить]
28 июня 2008 в 18:19
Скорее бы уже
[Ответить]
2 июля 2008 в 07:08
Стоимость версии 1.5 будет 90 у.е. или выше? Это принципиально.
[Ответить]
2 июля 2008 в 10:41
2www3: стоимость однозначно увеличиться.
[Ответить]
5 июля 2008 в 17:59
> стоимость однозначно увеличиться.
А для уже купивших 1.4.* сколько будет???
[Ответить]
5 июля 2008 в 18:09
2Hinin: Плз, не беспокойтесь, для всех, кто купил 1.4.x выше, апдейты бесплатно.
[Ответить]
9 июля 2008 в 15:11
А в сигнатуре для парсинга можно несколько раз использовать инструкции {get} и {skip}?
[Ответить]
10 июля 2008 в 17:10
2ynas: да, это возможно.
[Ответить]
16 июля 2008 в 16:39
3 месяца задержки до новой версии - это слишком!
Особенно, когда еще покупал думал, вот-вот на днях новая весия, как раз вовремя купил, а прошло-то четверть года.
Ребята, ну вы как бы побыстрее хотелось бы… А то одни завтраки…
Сейчас и на это сообщение, какой-нибудь стандартный программерский ответ будет
[Ответить]
Mike Reply:
августа 6, 2008 at 16:10
не хотел отвечать отговорками пока не сделали все.
[Ответить]
18 июля 2008 в 11:12
Когда планируется выход версии 1,5?
[Ответить]
Mike Reply:
августа 6, 2008 at 16:09
выпустили
[Ответить]
19 июля 2008 в 06:14
говорили что в июль-август будет уже 1.6 версия, такими темпами наверное в следующем году будет.
[Ответить]
Mike Reply:
августа 6, 2008 at 16:09
1.6 в плане через 3-4 недели
[Ответить]
21 июля 2008 в 12:44
tupo проблема в защите, еслиб всякие бараны не барыжили и в паблик бы не выкладывали плагин, тогда бы нас ждал бы уже 1.7 версия
[Ответить]
Mike Reply:
августа 6, 2008 at 16:09
согласен… я бы и не внедрял защиту если бы не барыги…
[Ответить]
22 июля 2008 в 11:10
Неужели поддержка плагина приказала долго жить?
[Ответить]
Mike Reply:
августа 6, 2008 at 16:08
просьба, пишите на емейл, отвечаю всегда
[Ответить]
24 июля 2008 в 07:52
С такими темпами я на пенсии буду быстрей чем 1.5
[Ответить]
Mike Reply:
августа 6, 2008 at 16:08
надеюсь мы все на пенсию выйдем еще в молодом возросте.
тое не работать и получать пассивный доход…
[Ответить]
26 июля 2008 в 18:45
Когда же прикрутите форум? Реально много вопросов возникает по ходу, которые пользователи решали бы сами и не беспокоили лишний раз разработчиков.
[Ответить]
Mike Reply:
августа 6, 2008 at 16:06
форум открыли, http://www.wpdot.com/forum пожалуста регистрируетесь!
[Ответить]
30 июля 2008 в 09:20
Майк,
какие версии рсс поддерживает ваш скрипт.
с некоторых сайтов контент выдирается, а с некоторых нет.
No active feeds!
или все тот же пустой массив
Reading - catId: 1; source: http://www.site.ru/?feed=rss2
заметил что с вордпресов ни с одного не смог вытащить контент хотя пробовал тащить даже с собственного где явно задал в каментах маркеры для вырезания
[Ответить]
Mike Reply:
августа 6, 2008 at 16:06
Поддерживает, ATOM, RSS, RSS2
[Ответить]
30 июля 2008 в 15:40
в данном примере не правельное метку составил вордпресс
Буковинаобграла
Буковина обграла
а также буква Iі украниская не записівается в БД
“Буковина”обіграла ФК “Малин”
написано в рубрике: Буковина — Метки: Буковинаобграла, Малин
[Ответить]
Mike Reply:
августа 6, 2008 at 16:05
Напишите плз на емейл, попробуем решить.
[Ответить]
1 августа 2008 в 12:48
Добрый день тов-щи
такое ощущение что проект перешел в стадию недвижимости и никто им не занимается, а тут для отписки ведуться какие-то коменты.
обещали в еще апреле 1.5 версию.. скоро уже лето закончится. Майк, имхо это не серьёзно.
[Ответить]
Mike Reply:
августа 6, 2008 at 16:05
Новую версию выпустили
[Ответить]