Парсер контента

С сайта автора - http://ru-net-biz.ru/index.php/2010/07/09/parser-kontenta-obnovlenie/

Введен выборочный парсинг контента по ряду признаков. Теперь парсить можно все что угодно.

Как работать с новыми настройками:

1. Ставим галку «Селективный парсинг»
2. Жмем «SelectiveParse». Окрывается окошко с настройками для селективного парсинга.
3. Жмем «add new block», добавляется новый блок для парсинга.
4. Вводим признак начала и признак конца блока, а также имя блока -может быть любым. Добавьте сколько вам угодно блоков. Важно: 1 строка = 1 блок парсинга. Нельзя один блок разбивать на несколько строк!
5. Добавляем модификаторы «[-cleantext]» – удалить из блока все тэги и прочий мусор html оформления (за исключение тэга <br>), «[-all]» – спарсить все вхождения из блока (без этого модификатора парсится только первое вхождение из исходника)
6. Протестить созданный блок парсинга. Ввести URL конкретной страницы и нажать кнопку «Test». Парсер сходит по этому адресу и попытается спарсить по шаблону. Полученные результаты парсинга сразу откроются в блокноте или вашей другой проге по просмотру текстовых файлов, параллельно сохранятся в «SelectiveParseTest\html.txt» – исходник страницы, как его видит парсер, «SelectiveParseTest\test.txt» – спарсенный текст по шаблону.
Важно: если какой-то блок парсинга не сработал, посмотрите, как он выглядит в исходнике, который сохранил парсер! Бывает так, что оформление в браузере (просмотр исходника страницы) отличается от того, как видит исходник страницы парсер.
7. Обязательно жмем «save» и закрываем окошко с настройками
8. В поле «Cайт» Пишем адрес сайта с «http://» и со слэшем на конце «/», в Вайтлист признаки адресов страниц с которых будет парситься текст – это любая последовательность символов из URL. Одна строка – один признак. Парситься по шаблонам будут только эти страницы, с остальных будут собираться только ссылки. В блэклист заносим страницы, где заведомо делать нечего – на такие страницы парсер доже за ссылками не пойдет.
9. Можно запускать парсер.

Пример настроек селективного парсинга для сайта http://mirsovetov.ru/ парсится только основная статья. Блок для парсинга у нас один (все в одну строку!):
[blockname]PageText[/blockname][start]<div id="hypercontext" align="justify" style="padding-right: 10">[/start][stop]</div>[/stop][-cleantext]

Парсер вырезает контент от <div id="hypercontext" align="justify" style="padding-right: 10"> и до </div>
модификатор [-cleantext] говорит о том, что из полученного куска надо удалить все форматирование.

в вайтлист заносим признак из урла статей /a/ все статьи находятся обязательно по таким урлам. Если нужно парсить из определенной категории добавляем и ее тоже. К примеру, Автостатьи – /a/car/ спарсятся только страницы по таким урлам (где есть такое вхождение).
В блэклист пишем расширения картинок (по дефолту стоит) и еще db.php (конкретно для этого сайта, для других сайтов, будут другие вхождения) – это просто какой-то служебный скрипт, нах нам не нужен.

UPD

- Введена опция «исключать поддомены». Парсер не будет ходить на поддомены сайта (по дефолту ходит).
- Введена опция «парсить только подходящие под шаблон страницы». Парсер будет прасить текст (и сохранять, соответственно) только на тех страницах, где встретились ВСЕ шаблоны. В этом случае вайтлист не используется.
- Теперь парсер сохраняет последние настройки (шаблоны для парсинга, вайтлист, блэклист, адрес сайта). Будьте внимательны – состояние чек боксов не сохраняется.
- Небольшой редизайн.

UPD

- устранена ошибка, связанная с завершением работы через кнопку HALT
- добавлена опция элементарная чистка (вынесена на форму настроек селективного парсинга) – удаляет пустые строки (состоящие из пробелов, табуляций и т.д.)
- добавлен файловый фильтр результатов парсинга. для тех, у кого сохраняет много пустых файлов. Однако, повторюсь, это не ошибка – это неправильные настройки!
- добавлена возможность указать разделитель статей при объединении результатов в один файл рекомендую: когда вы отпарсили один сайт и хотите парсить другой – перезапустите программу

Примеры:

Сайт: masteroff(точка)org
blockname]song-info[/blockname][start]src="http://n.pay-click.ru/js/adv_out.js">[/start][stop] » <a href='[/stop][-cleantext]
[blockname]song-words[/blockname][start]<pre class='songtext'>[/start][stop]</pre>[/stop]

в вайтлист пишешь .html
в блэк добавляешь .txt
ставишь галку ' = "

Страница продукта - http://ru-net-biz.ru/

Ссылка для скачивания – новый парсер контента