Ru-Net-Biz

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

Публикация

Обновление парсера [06/01/11]

7 января 2011
В рубриках: Самоделки

Добавлено:

- DupKiller – оставляет только по 1 файлу 1 размера в папке, т.е. удаляет дубли
- массовый конвертер из utf в ansi
- простой коструктор урлов (как показывает практика, сложнее и не надо) – «подставлятор» в урл счетчика
- вставлялка картинок в спарсенные статьи (если кому то надо, то опишу подробнее всю технику вставки). Юзал для своих сатов, работает с некоторыми нюансами :)
- картиночный фильтр (для удаления «битых» картинок), находится на вкладке «Фильтр»
- сохранение странички с расширением .html при тесте селективного парсинга, теперь сразу можно открыть ее в браузере

Исправлено:

- баг с парсингом картинок, теперь парсит нормально (протестировано на google images, спарсил около 2к картинок), но размер картинки должен быть больше 400кб, большего размера не скачивает, ибо нех
- баг с использованием прокси, раньше если прокси оказывался мертвым и коннекта не было парсер считал, что страница спарсена, теперь такие урлы отправляются обратно в очередь на парсинг

Пожелания, как обычно – welcome!

Скачать бесплатный парсер (версия от 06.01.11)

Всех с НГ и рождеством, бразы! :)

67 пользователя прокомментировали «Обновление парсера [06/01/11]»

Slonotop пишет,
7 января 2011 в 01:50 .     

спасибо SciFi =) с праздниками тебя

SciFi пишет,
7 января 2011 в 06:11 .     

не за что! всех благ!

ghdfh пишет,
7 января 2011 в 22:24 .     

а можно попросить сделать ему что-то типа лога, чтобы можно было отследить на каком этапе возникают неполадки с парсингом. А то у меня один раз из двадцати получается его заствить парсить.

KS пишет,
8 января 2011 в 15:32 .     

Действительно, супер. Вот хочу линкоферму поднять и сетку сатов – скрещу ваш парсер с Зеброидом (для синонимайза того что спарсилось)и поглядим.

осталось только разобраться в нем.

Спасибо :)

Юрок пишет,
9 января 2011 в 00:23 .     

со списком сайтов все еще не работает? :( (

Юля пишет,
9 января 2011 в 13:20 .     

С праздниками и спасибо за подарки :)

SciFi пишет,
9 января 2011 в 14:41 .     

Юрок нет. надо многое переделывать.
KS ничего сложного
ZLODEY никто не стучал
ghdfh здравая идея, приделаю

seoneophyte пишет,
9 января 2011 в 17:03 .     

Во первых спасибо за обновление и вообще за парсер :)
Во вторых, со всеми прошедшими признаками, а также со старым Новым годом!
А в третьих, есть такое пожелание-вопрос:
Можно ли сделать чтобы чтобы спарсенные файлы назывались не только по номерам по порядку? А скажем по названию статьи которую парсим (задавать это условие в селективном парсинге например) или по тегу h1… И можно ли сделать так, что когда используешь счетчик и файлы парсятся по номерам, они под этими же номерами сохранялись?

КС пишет,
9 января 2011 в 20:45 .     

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

SciFi пишет,
10 января 2011 в 11:34 .     

seoneophyte, ok. сделаю сохранение файлов по названию статьи

SciFi пишет,
10 января 2011 в 11:35 .     

КС чуть позже

Виктор пишет,
10 января 2011 в 23:32 .     

«(если кому то надо, то опишу подробнее всю технику вставки).» -напишите пожалуйста.И по старой схеме не получается сделать шаблон страницы,парсит почти целый html а не кусок текста.Заранее спасибо

КС пишет,
12 января 2011 в 01:06 .     

было бы супер. завтра может сам разберусь, парсить то имагес гугл ком чтоли?

Игорь пишет,
12 января 2011 в 01:13 .     

Ну дайте плиз хоть какое то описание как этим парсером пользоваться.

KS пишет,
13 января 2011 в 22:32 .     

Там в первой версии большая ветка обсуждений. Оттуда все и понятно. Кароче еще такая вещь – если под Вин7 – запускай от имени админа.

Виктор пишет,
14 января 2011 в 01:49 .     

Ребятки,выложите пример шаблона для парсинга какого-нибудь сайта,чтобы парсил с картинками.А то пользуюсь ещё старой версией-работает отлично но без функции картинок (тогда ещё не было встроено),а теперь просто не знаю как настроить и жуть как обидно

ZLODEY пишет,
14 января 2011 в 08:03 .     

Спасибо за обнову но тестировать не стал, прочитав коменты – подожду когда с титлами в названиях файла будет решена задачка, а так мнение о софтине не изменилось – реально кульная весч!

Slonotop пишет,
15 января 2011 в 02:19 .     

а что там за проблема, ZLODEY?

Григорий пишет,
16 января 2011 в 18:17 .     

«- вставлялка картинок в спарсенные статьи (если кому то надо, то опишу подробнее всю технику вставки).»

Да, Опишите подробнее пожалуйста, очень нужно и не мне одному полезно будет.

Григорий пишет,
16 января 2011 в 18:19 .     

И как сами картинки парсить, тоже расскажите пожалуйста.

ZLODEY пишет,
16 января 2011 в 22:44 .     

Проблемы то как бы нет, нужно просто чтобы спарсеные статьи сохранялись с названиями из титла а не так как сейчас[1][2][3]и т.д.

SciFi пишет,
16 января 2011 в 23:36 .     

Примеры, разъяснения будут чуть позже!

ghdfh пишет,
17 января 2011 в 16:41 .     

можете объяснить как пользоваться вайт и блек листами. Например как спарсить только ссылки на ролики с ютуба (_http://www.youtube.com/watch?v=XXX) со страницы запроса _http://www.youtube.com/results?search_query=ZAPROS , плюс заставить переходить на следующую страницу выдачи и так до конца. У меня он парсит все подряд не зависимо от того что в вайтлисте.

и как идея для развития: возможность задавать глубину парса относительно стартовой страницы

SciFi пишет,
18 января 2011 в 12:37 .     

ghdfh, для этой цели юзай парсинг по списку урлов, где каждый урл – след. страница выдачи ютуба.
А идея для развития неплохая.

КС пишет,
18 января 2011 в 14:52 .     

Еси уже до глубины дошли то чем хттп рек плох?

SciFi пишет,
18 января 2011 в 21:15 .     

КС, не понял тебя

ghdfh пишет,
19 января 2011 в 21:09 .     

SciFi, я как раз и парсю только список. Как ему дать понять что туда не ходи, а сюда – да? Указывать прямые ссылки или что типа */watch?v= , объясните логику постороения этих листов, пожалуйста.

rogilot пишет,
19 января 2011 в 21:50 .     

Спасибо! Мощный парсер. Пример с парсингом картинок был бы очень кстати

stpater пишет,
20 января 2011 в 10:29 .     

SciFi, вы мегачел -парсер супер просто.
парочка вопросов.
1. селективный парсинг. задаю регулярное выражение. результат-только первое вхождение текста. а на странице много еще вхождений текста. как задать чтобы все парсил?
2. не сочтите за наглость, но было бы очень удобно хелп (описание) одним файлом…

SciFi пишет,
20 января 2011 в 21:06 .     

stpater парсер не поддерживает регулярки, ты юзаешь шаблоны. добавь [-all] в конец блока парсинга, чтобы сказать парсеру, что хочешь парсить все вхождения
ghdfh при парсинге по списку урлов парсер не переходит по ссылкам, парсятся только те урлы, которые есть в списке. Однако условия блек-вайт листа действуют
rogilot чуть позже. завтра, наверное.

fozzy пишет,
21 января 2011 в 00:16 .     

Напиши для тех кто засел глубоко в танке, и первый раз видит это чудо, что то типа faq, с примером на каком то сайте. Честное слово, перечитал весь блог, скачал все версии, но не доходит до меня. Увы. А так спасибо за твой труд!

SciFi пишет,
22 января 2011 в 22:43 .     

fozzy ok

stpater пишет,
24 января 2011 в 18:59 .     

SciFi спасибо. неправильно сказал конечно не регулярки, а шаблоны

SciFi пишет,
25 января 2011 в 08:05 .     

Парсим Google images

Настройка парсера.
- идем в гугл, вбиваем любой запрос, ищем картинки.
- копируем урл в парсер, убрав ненужные нам параметры (у меня получилось так http://www.google.ru/images?q=%D0%BC%D0%B8%D1%81%D1%82%D0%B5%D1%80+%D0%B1%D0%B8%D0%BD )
- идем в настройки парсинга, втыкаем урл и жмем тест. Сейчас нам надо получить код странички, как его видит парсер, блок парсинга добавим уже после
- стмотрим что скачал парсер, ищем участок-линк на пикчу. (У меня получилось так начало линка <a href="/imgres?imgurl= конец &)
- добавляем блок парсинга с модификатором [-all] и [-pic::] (в данном случае нам не важен префикс и суффикс вставки картинки в спарсенный файл)
У меня получилось так [blockname]Name0[/blockname][start]<a href="/imgres?imgurl=[/start][stop]&[/stop][-all][-pic::]
- жмем тест и видим, что парсер скачал пикчи. Сохраняем настройки.
- идем в конструктор урлов и создаем ссылки на страницы гугл-пикчи-выдачи. Они будут отличаться только наличием параметра «&start=[COUNTER]«, где [COUNTER] кратен 10. Для этого в поле mul (множитель счетчика) ставим 10.
- создаем папку img в папке parse (если ее там нет)
- парсим с такими чекбоксами: селективный парсинг, ингнорить вайтлист, парсинг по списку урлов. Кто хочет парсить много юзает прокси.
- парсим во сколько хотите потоков.
- обработка битых и кривых пикч. Идем на вкладку фильтр и жмем «картиночный фильтр». Хорошие картинки сохранятся в папку img2 в папке parse

все :)
p/s Не забываете, парсер не парсит картинки размером более 400 кб.

Виктор пишет,
25 января 2011 в 21:31 .     

Спасибо за мануал.тоесть получается он не парсит текст с картинками вместе? чтобы на выходе получался тхт файл только с текстом и картинками

SciFi пишет,
25 января 2011 в 21:35 .     

Виктор парсит. но не с гугла же.

KS пишет,
26 января 2011 в 00:19 .     

Ребята, если нужен супер гибкий парсер купите Зенно. А так вобще это хорош – быстрый. Правда у меня на 7ке плохо рбаотает.

Виктор пишет,
27 января 2011 в 17:30 .     

кстати ,ув.автор программы,обнародуйте хоть свой WMz,WMr кошельки,я думаю многие захотят отблагодарить.Я в том числе,пока много не скину ,ну хоть рублей 10,20 то точно.потом будут свободные средства также буду понить о вас.спасибооооо

Slonotop пишет,
3 февраля 2011 в 06:37 .     

шутите? =) пара пива ето уже 100-150, что такое 20р?)

chayka пишет,
3 февраля 2011 в 06:55 .     

Я думаю, если клевый захочет получать благодарности в виде финансов, он с легкостью вставит в интерфейс кнопочку «поблагодарить автора» :)

Почему еще не сделал – не знаю, не хочет наверное :)

FerrumLogic пишет,
9 февраля 2011 в 21:05 .     

А только у меня файлы про парсинга не создаются?

SciFi пишет,
11 февраля 2011 в 17:21 .     

Мини обновление парсера

- добавлена возможность подставлять в признаки начала и конца блока парсинга символы табуляции и переноса строки

Последовательности #9, #10, #13 в блоке парсинга будут заменены на соответствующие им непечатаемые символы, при условии присутствия модификатора [-symb] в блоке.

#9 – будет заменен на табуляцию
#13#10 – будет заменен на перенос строки

#13 и #10 на некоторых сайтах могут использоваться отдельно, будьте внимательны.

Скачать обновленный парсер можно здесь.

Мат Ботвинника лошадью пишет,
25 марта 2011 в 08:20 .     

Салют.
Мне кажется, парсер не работает с вхождениями, содержащими кириллицу. Может быть, есть смысл добавить это в функционал? Например, я парсю страницы, на которых есть <th>Год издания:</th>. Поскольку меня интересует не эта фраза, а то, что следует за ней, было бы очень удобно в качестве старта задать издания:</th> но сейчас в этом случае тест показывает пустой результат.

Мат Ботвинника лошадью пишет,
25 марта 2011 в 08:29 .     

Или может я не правильно рассуждаю?
Вот, скажем, такой кусок:
<th>Год издания:</th>
<td>2010</td>
</tr>
<tr>
<th>Страниц:</th>
<td>208</td>
надо спарсить в два блока. Для этого я бы сделал
[start]издания:</th>[/start][stop]</td>[/stop]
и
[start]Страниц:</th>[/start][stop]</td>[/stop]
Но оно так не работает. По-другому ведь никак не сделаешь, если html-теги одинаковые?

SciFi пишет,
25 марта 2011 в 10:22 .     

Мат Ботвинника лошадью,1. смотри исходник страницы, как его видит парсер в папке SelectiveParseTest. То что ты приводишь в пример на самом деле в исходнике может выглядеть иначе: например, могут присутствовать непечатаемые символы переноса строки или табуляции, поэтому тест ничего не показывает, ибо шаблон не совпадает. Как настроить чтоб парсер их учитывал читай мой коммент выше. 2. Парсер распознает кирилицу, если страница отдается в кодировке windows-1251.
3. в твоем случае можно попробовать парсить так (в одну строку!):
[blockname]1[/blockname][start]<th>[/start][stop]</td>[/stop][-all][-cleantext]
где [-all] - означает парсить все совпадения для блока.
[-cleantext] - означает убрать из блока html разметку

Мат Ботвинника лошадью пишет,
25 марта 2011 в 11:18 .     

Спасибо за ответ, я попробую взять из html.txt.
А по поводу пункта 3 – не совсем так, наверное. Как спарсить и откинуть теги, я понял. Но мне нужно сохранить результаты обработки блоков
[blockname]Year[/blockname]
[blockname]Page[/blockname]
по приблизительно такому шаблону
[Year]~[Page]~
То есть, чтобы между ними (и другими полями) был разделитель. Это для импорта последующего в drupal в соответствующие поля. То есть, надо по отдельности обрабатывать всё-таки, да? Так, как ты показал, у меня получится вывод
[1]~
верно мыслю?

SciFi пишет,
25 марта 2011 в 13:03 .     

Тогда, по отдельности, да.

kabab пишет,
1 апреля 2011 в 23:51 .     

Парсер, когда парсит по «парсить по списку урлов» не пропускает страницу если её нету, а пытается ее спарсить. И эти страницы которые не существуют, забивают потоки, то есть он постоянно её долбит что бы спарсить, а не пропускает. Как сделать так или что прописать, что бы он, не существующие страницы пропускал? Спасибо. :)

Slonotop пишет,
2 апреля 2011 в 03:37 .     

SciFi привет :)
если будет время – можешь добавить к парсеру в конструктор селективного парсинга кнопки типа [pic::], [-all], другие модификаторы и подсказки типа title к ним? что бы [...] добавлялись к активной строке?

всех с весной, работать интенсивнее =)

SciFi пишет,
2 апреля 2011 в 09:03 .     

kabab, сам фильтруй. не давай парсеру не существующие страницы. он же как лучше хочет :) и добивается от каждой 200 OK

SciFi пишет,
2 апреля 2011 в 09:06 .     

Slonotop, как то не вижу необходимости, лучше на чем то по серьезней сосредоточиться. :) только вот не знаю на чем. пока еще не было у меня затыков с этим парсером… код не правил/не добавлял ничего уже месяц точно… хотя и пользуюсь через день.

kabab пишет,
2 апреля 2011 в 15:01 .     

Блин, а я так надеялся что есть какое то магическое заклинание, что бы убрать единственный, как по мне, бок проги… :) )

Slonotop пишет,
2 апреля 2011 в 17:52 .     

SciFi, в последней версии парсера некоторые потоки подвисают и не шевелятся. Использую селективный парсинг, по списку урлов.
а кнопки это да, совсем от лени) я подумал, что для тех кто впервые будет парсером пользоваться это будет полезным =)

Slonotop пишет,
2 апреля 2011 в 18:17 .     

вот сейчас из 22к урлов подвисло 42 штуки. Если бы можно было просто скопировать подвисшие потоки из окна монитора потоков и добавить их в to-parse для второго прогона – было бы круто :)

Slonotop пишет,
3 апреля 2011 в 01:49 .     

только обнаружил, что [blockname]Размеры[/blockname] (то есть названия на нашем) тоже работает как надо =) а то парился с названием на латинице, чего то сразу не попробовал..

SciFi пишет,
3 апреля 2011 в 06:50 .     

Slonotop, если руками открываются, то должно быть норм. Из 22к 42 не спарсеных это мелочи, всегда можно добавить еще 50 потоков и компенсировать уснувшие. С другой стороны, если это дело систематически на одних и тех же урлах, то налицо ошибка алгоритма.
Может не стоит давать сразу столько на парсинг, по частям что ли разбить.

ani пишет,
10 апреля 2011 в 12:35 .     

Огромная просьба объяснить мне, бестолковой, как задать шаблон парсинга картинок хотя бы с того же сайта mirsovetov.ru – текст парсится (все сделала по вашему примеру), а картинки к тексту я спарсить никак не могу, ничего не получается ((

SciFi пишет,
11 апреля 2011 в 15:47 .     

ani, писал про картинки же… Ok, чуть позже подробнее напишу.

Dima пишет,
16 апреля 2011 в 09:28 .     

а как спарсить сайт

http://mirsovetov.ru/
почему-то парсит только 3 страницы и отсанавливается

http://mirsovetov.ru/javascript:show_login(‘hide’);
http://mirsovetov.ru/javascript:show_login(’show’);
http://mirsovetov.ru/otveti/registration.php

Slo пишет,
11 мая 2011 в 01:14 .     

Привет SciFi, всех с праздниками)

заметил такую штуку – при парсинге по списку урлов – урлы выстраиваются по порядку, а не берутся из файла так как есть. Я специально перемешивал урлы в файле, но такая манипуляция на юнипарс не действует))

SciFi пишет,
11 мая 2011 в 15:20 .     

привет, Slo, список сортируется, дубли урлов убиваются.

Slo пишет,
2 июня 2011 в 07:46 .     

2 Dima – вы подойдите к парсеру с другой стороны –

выбирайте раздел, например _http://mirsovetov.ru/a/housing/cookery/index.html
видите разбивку на страницы – они пронумерованы (_http://mirsovetov.ru/a/housing/cookery/index-2.html)
идёте в конструктор урлов и конструируете (в данном случае проще будет ручками набить, страниц всего восемь)
с этиз страниц парсите линки на статьи, запихиваете их в to-parse.txt, настраиваете селективный парсинг под ваши нужды и вуаля)

юнипарс не универсален, а заточен под определённую работу, если хотите скачать сайт целиком – юзайте телепорт=)

Anatoly B. пишет,
9 июня 2011 в 09:54 .     

Благодарю вас за качественный бесплатный продукт. Он не уступает платным аналогам. Мне он нравится все больше и больше, и я очень рад что есть такие люди как вы.

У меня есть такой шаблон парсинга:
[blockname]Companyname[/blockname][start][/start][stop][/stop][-cleantext]
[blockname]Companyaddress[/blockname][start]Адрес[/start][stop][/stop][-cleantext]
[blockname]Companyemail[/blockname][start]e-mail[/start][stop][/stop][-cleantext]
[blockname]Companyphone[/blockname][start]Телефон[/start][stop][/stop][-cleantext][-all]

Сохраняется:
companyname; companyaddress; companyemail; companyphone
АПТТ-ТРЕЙД; Error; wwwww@gmail.com ; Zero

Сайт с кодировкой UTF-8. По видимому русский текст из шаблона не обрабатывается, так, как английский аналог проходит без проблем. Так, тоже не помогает:
[blockname]Companyaddress[/blockname][start]#128#164#224#165#225[/start][stop][/stop][-cleantext]

Anatoly B. пишет,
9 июня 2011 в 10:54 .     

вместо Адрес можно крякозябры подставлять, с ними, работает, с кодировками, траблы.

[blockname]Companyaddress[/blockname][start]Адрес[/start][stop][/stop][-cleantext]

Slo пишет,
17 июня 2011 в 16:32 .     

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

Slo пишет,
17 июня 2011 в 17:22 .     

ладно, я хотел обойти неактивный таймаут следующим образом – разбавил to-parse список урлов урлами локалхоста примерно 50 к 1 поисковому запросу, но юнипар сортирует список и ничего не получилось)

pav609 пишет,
16 октября 2011 в 07:31 .     

Напишите нормальную инструкцию, а то нифига не понятно как парсер юзать. Парсит ни то что нужно.

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

 Имя

 Почта

 Сайт

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

О проекте

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