Ru-Net-Biz

Все самое интересное о .Ru-Net бизе.

Публикация

Небольшое обновление парсера и мини-урок

26 ноября 2010
В рубриках: О блоге

Будет полезно всем, кто юзает парсер.
sash, насколько я понял тебе необходимо парсить именно странички с книжками? Не их ведь список?
Сделал так – добавил в парсер поддержку парсинга по списку урлов. Урлы должны лежать в файле to-parse.txt (создайте его сами в папке с прогой) и чекбокс «парсить по списку урлов» должен быть выставлен. Режим ничем не отличается от остальных. Все настройки парсинга действуют и для него. Просто парсер не собирает ссылки на другие странички, а только парсит контент.

Теперь нам нужен первоначальный список урлов, с каких мы спарсим ссылки на непосредственно страницы книжек. В этот раз не стал заморачиваться и сделал его тупо в экселе: в одной ячейке часть ссылки на страницу категорий (для этого сайта «http://www.yakaboo.ua/ru/catalog/value/272892/page-») вторая ячейка это номер страницы, автозаполнением ячеек сделал список на 140 страничек, и в третью ячейку вставил Экселевскую формулу «СЦЕПИТЬ» (у нее аргумантами выступают соответственно первые две ячеки). Таким образом получил список на страницы-листинги книжек.
Далее засунул этот список в парсер, настроил селективный парсинг (как показал быстрый анализ – нам со страницы надо спарсить идентификатор книги). Это делается просто:
[blockname]Name0[/blockname][start]<div id="film_small_view_[/start][stop]"[/stop][-all]
не забываем про модификатор [-all] чтобы спарсились все вхождения. Через пару минут у меня уже был распарсенный список айдишников всех книжек. Объединил все в 1 файл. Посмотрев на урл страницы с книгой видим, что там таже система адресации. Значит, опять идем в эксель и создаем список «книжных» урлов (имееют вид «http://www.yakaboo.ua/ru/catalog/all/-34256″). Где 34256 – номер (айди) книжки.
Все. Осталось пройтись по ним и спарсить описания книжек. Шаблон в этом случае будет такой (одна строка – один блок!!):
[blockname]BookTitle[/blockname][start]<h1 style="color:#006AB5;font-family:tahoma;font-size:13px;"><b>[/start][stop]</b>[/stop]
[blockname]BookReview[/blockname][start]<th>[/start][stop]</td></tr>[/stop][-cleantext][-all]

Запускаем парсер в режиме «по списку уров» и, наверное, радуемся результату? :)
Ссыль на версию парсера с возможностью парсить по списку урлов.

15 пользователя прокомментировали «Небольшое обновление парсера и мини-урок»

sash пишет,
29 ноября 2010 в 18:55 .     

Все получилось. Большое спасибо, SciFi!

Slonotop пишет,
30 ноября 2010 в 03:55 .     

Не хватало мануала :) спасибо чел за программу)
в архиве линк на http://www.pravoslavie.ru/ и кусок шаблона в селективном парсере) остался после отладки похоже

Slonotop пишет,
30 ноября 2010 в 04:14 .     

сложно будет добавить кнопку сохранения своих пресетов/фильтров или проекта целиком?

Slonotop пишет,
30 ноября 2010 в 04:23 .     

и ещё заметил – у меня ничего не находит если я при селективном парсинге ориентиром выбираю html комментарии, т.е. кириллицу типа он не видит)

Slonotop пишет,
30 ноября 2010 в 04:23 .     

млин фильтр

Slonotop пишет,
30 ноября 2010 в 04:27 .     

извиняюсь за флуд, фильтр не обойти) написал пример на гугде докс http://0xz.ru/dc19qz

Slonotop пишет,
1 декабря 2010 в 04:49 .     

ещё хочу добавить – стабильно, после грабинга по списку адресов, переходя на вкладку «text joiner» и нажимая кнопку «вперёд» натыкаюсь на сообщение о том, что файл union.txt занят другим процессом и к нему нет доступа. далее ничего не происходит
строит вин7, версия парсера из этой темы :)

кстати список id страниц ссылок из вашего примера можно обработать быстрее – при редактировании списка можно подставить нужный урл при «поиск\замена» ища перевод строки и заменяя на перевод строки с дописанным урлом.

Slonotop пишет,
1 декабря 2010 в 05:19 .     

разобрался – по списку урлов начало парситься только после галки «игнор.вайтлиста»; textjoiner же начал работать после перезапуска программы.

я сначала расстроился что нет сохранения по шаблону, но потом догнал как и что =)

да и опять про список урлов для последующего парсинга можно было бы внутри юнипарсера обработать так же через шаблон сохранения, однако не получается автоматизировать процесс =)

SciFi пишет,
1 декабря 2010 в 13:30 .     

Slonotop, у меня виста стоит. И на ней все норм отрабатывает. Вин7 ставить не хочу – не к чему мне эти заморочки.
Все опции парсинга работают для режима «по списку урлов» и если в вайте у тебя стоит «.html» (т.е. парсить текст только со страниц где есть вхождение .html ), а страницы в урлов в твоем списке заканчиваются на «.php», то парсер их просто пропустит. Будь внимательнее.

Slonotop пишет,
3 декабря 2010 в 06:36 .     

спасибо SciFi, всё работает как нужно) на неттопе с вин7 спарсила крупный портал и не подвисла ниразу, работает шустро)

SciFi пишет,
4 декабря 2010 в 20:02 .     

Slonotop, очень хорошо :)
p/s парсинг по списку урлов в отличие от дефолтного режима потребляет гораздо меньше ресурсов

саня пишет,
7 декабря 2010 в 12:31 .     

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

SciFi пишет,
9 декабря 2010 в 12:11 .     

саня, парсер работает с конкретным сайтом. Хотя попробуй парсить по списку урлов, хз. Мож че и выдет.

Neo007 пишет,
30 декабря 2010 в 03:01 .     

Спасибо тебе большое за бесплатный парсер контента :)

Рус пишет,
16 июня 2011 в 15:42 .     

Куда результат сохраняется???
Парсю SelectiveParse, находит url-ы , парсит, а куда результат девает не могу найти.Вовремя парсинга заполняется url-ами только parsed_urls.txt, а контента нету.Подскажите пожалуйста, куда глянуть надо

Оставьте свой комментарий

 Имя

 Почта

 Сайт

Внимание: Пожалуйста, дважды проверяйте свои комментарии перед отправкой Замечание: Может быть активна процедура проверки, так что нет необходимости добавлять комментарий повторно

О проекте

Проект админят: chayka
SciFi