4 место Быстрый парсер RU + ENG текстового контента на Get-запросах

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113


Область применения:
Делать потом «сайты\сателлиты\дорвеи\странички в соцсетях» на «копипасте\мешанке\генеренке\переводе» на основе этой текстовки.

Алгоритм работы:
1. Шаблон берет случайную строку из файла-списка «\Input\Useragents.txt», если файла нет, то генерирует значение.
2. Берется первая строка (с удалением) из файла-списка «\Input\Urls.txt».
3. Одним Get-запросом парсится код страницы, и данные подстраиваются под нужную кодировку, по типу как в этой теме.
4. Дальше шаблон работает в двух режимах на выбор:
4. A) Вытаскивает текст из HTML-кода с помощью множества регулярок, под каждый язык свой блок. Метод мой, оттачивался годами. Может какие-то действие не очень умно продуманы, так как шаблон начинал писать еще во времена минимальных знаний, да и не кодер я, балуюсь. Но все работает, дорвейщики пользуются не жалуясь :-).
Текст прогоняется через фильтры (регулируются на вкладке «#1» во «Входных Настройках» проекта). Каждое новое предложение идет с новой строки с сохранением порядка, в итоге получается так, что что границы абзацев исчезают, немножко печалька. 99% мусорного текста исчезает.
Работает только с RU/EN языками, для других языков надо уже чуть ручками подправить C# блок с регулярками.
4. Б) Активируется на вкладке #4 во «Входных Настройках». Вытаскивает текст из кода с помощью библиотеки Boilerpipe.Net.
Регулярки не применяются. Ограничения по языкам нет. Режимы из настройки #4.3 кратко описаны в исходниках. Структура абзацев остается, но не всегда. Метод вовсе не идеален, только недавно его подключил. Явно нужна пост-обработка фильтрами, иногда проскакивает голый HTML-код. Учитывая, что в этом режиме скорость обработки в 5 раз меньше, то для себя не вижу смысла возни с ним. Если очень нужна аккуратная структуризация как в статье донора, то лучше уж тогда переделать шаблон на парсинг через онлайн-сервисы, вопрос мной поднимался на форуме. Тот же демо сайт boilerpipe выдаёт гораздо чище текстовку с возможностью сохранения HTML-разметки, и подобных сервисов немало. Гуглил почему эта офлайн библиотека гораздо хуже работает, ответов нет, только такие же вопросы от возмущенных пользователей.

Скрины для сравнения скорости обработки (не смотрите на память, шаблон ее практически не использует, это другой софт нагружает). При тех же пиковых нагрузках на CPU по графику нагрузки сети видно, что с библиотекой шаблон медленнее парсит (~3 мбит\секунду), тогда как на регулярках ~15 мбит:


Сравнение парсинга одного и того же списка на 100 ссылок разными алгоритмами. Если каких-то ссылок нет в документе, значит там не набралось достаточно текста:
4. A) Url_Text_EN_Regex
4. Б) Url_Text_EN_Boilerpipe









В архиве идет шаблон («Parser_Content_RU_ENG_by_orka13__Ver_1.01.xmlz»), пример файлов с результатами первого режима с активированными всеми опциями на вкладке "3. Логи"...
...и папка «ExternalAssemblies», в которой необходимые для работы библиотеки Boilerpipe. Ели если нет охоты возится с Boilerpipe, то в архиве найдете версию шаблона «Parser_Content_RU_ENG_by_orka13_Lite__Ver_1.01.xmlz» без нее (и без вкладки #4).

Содержание моей «ExternalAssemblies» закиньте в «ExternalAssemblies» своего ZennoPoster, например, у меня это:
c:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.14.0.0\Progs\ExternalAssemblies\
Заметьте, что Boilerpipe.Net по умолчанию работает только со старым «HtmlAgilityPack.dll 1.4.9 (09.2014)», так что используйте именно тот что в моей папке. Сам Boilerpipe.Net.dll компилировался мной в Microsoft Visual Studio 2017 (на 2015 по умолчанию не хочет), тестировался в шаблоне на ОС Windows 10 x64 + ZennoPoster 5.14.0.0.
Скачать шаблон архивом (или в прикрепленных файлах облегченная версия архива без файлов с результатами).
UPD: 27.02.2018: Ver_1.02. Добавил C#-кубик конвертации нестандартных доменных имен (IDN *.рф и т.д.) в Punycode, подправил мелкий косяк «в кубике сохранения результата на английском - RU в имени файла».
 
Категория
Парсинг

Вложения

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

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

garat

Client
Регистрация
18.07.2016
Сообщения
31
Благодарностей
14
Баллы
8
Подскажите ПЖЛ почему просит привязку? - как будто шаблон закрыт. Он открытый?
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
  • Спасибо
Реакции: garat

radv

Client
Регистрация
11.05.2015
Сообщения
927
Благодарностей
459
Баллы
63
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113

garat

Client
Регистрация
18.07.2016
Сообщения
31
Благодарностей
14
Баллы
8
СПС за шаблон - ждал

вопрос еще

"Ели если нет охоты возится с Boilerpipe, то в архиве найдете версию шаблона «Parser_Content_RU_ENG_by_orka13_Lite__Ver_1.01.xmlz» без нее (и без вкладки #4)."

в версии Lite также присутствует вкладка 4 - возможно кого собьет с толку в визуальном плане - но не критично думаю
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
СПС за шаблон - ждал

вопрос еще

"Ели если нет охоты возится с Boilerpipe, то в архиве найдете версию шаблона «Parser_Content_RU_ENG_by_orka13_Lite__Ver_1.01.xmlz» без нее (и без вкладки #4)."

в версии Lite также присутствует вкладка 4 - возможно кого собьет с толку в визуальном плане - но не критично думаю
Спс, исправил. Вижу надо было лучше утром стартовать, а то сейчас невнимателен.
 
  • Спасибо
Реакции: garat

Mavx

Client
Регистрация
08.12.2013
Сообщения
8
Благодарностей
0
Баллы
1
Потестил шаблон, очень шустрый. Только Я не пойму в чем смысл вытаскивать не уникальный текст ?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Потестил шаблон, очень шустрый. Только Я не пойму в чем смысл вытаскивать не уникальный текст ?
Делать «сайты\сателлиты\дорвеи» на «копипасте\мешанке\генеренке\переводе» на основе этой текстовки.
 

Danny

Client
Регистрация
29.09.2014
Сообщения
723
Благодарностей
156
Баллы
43
Orka13, спасибо за статью! )
Полезно и интересно будет изучить.
Для полноты картины напрашивается еще вторая статья на тему "Сбор ссылок на страницы сайтов по ключевым словам из ПС" )))
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Orka13, спасибо за статью! )
Полезно и интересно будет изучить.
Для полноты картины напрашивается еще вторая статья на тему "Сбор ссылок на страницы сайтов по ключевым словам из ПС" )))
Ну откуда то я же брал ссылки :-), - есть под это быстрый парсер Bing в коллекции. Выложу платную версию на днях, если будет время.
 
  • Спасибо
Реакции: Danny

garat

Client
Регистрация
18.07.2016
Сообщения
31
Благодарностей
14
Баллы
8
Ну откуда то я же брал ссылки :-), - есть под это быстрый парсер Bing в коллекции. Выложу платную версию на днях, если будет время.
Зря вы на Bing смотрите - у него shadow бан(выдача перестает соответствовать запросу - подсовывается всякая хрень) применяется при превышения лимитов запросов. Да Конечно можно прокси и генирить аноним - но тогда можно и традиционные ПС использовать. Преимущество теряется у Бинга в таком случае
 
Последнее редактирование:

Walter_White

Client
Регистрация
09.09.2016
Сообщения
147
Благодарностей
1
Баллы
18
а где находить url со статьями?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
а где находить url со статьями?
может файл со статьями?
В настройках шаблона на вкладке №3 включите все чекбоксы и смотрите какой вариант файла после обработки вам больше подходит. Ну или под себя сформируйте как сохранять в итоге текст статьи, шаблон же открытый.
 

dephhs1

Client
Read only
Регистрация
08.01.2017
Сообщения
112
Благодарностей
28
Баллы
28
для каких целей ето чудо применяется ? не написано куда и что и как .
 
Регистрация
12.07.2014
Сообщения
823
Благодарностей
305
Баллы
63
  • Спасибо
Реакции: ftbwork10 и orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
для каких целей ето чудо применяется ? не написано куда и что и как .
в комментах упоминалось уже:
Делать «сайты\сателлиты\дорвеи» на «копипасте\мешанке\генеренке\переводе» на основе этой текстовки.
UPD: добавил в стартпост.
 
Последнее редактирование:

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
небольшая помарочка - в кубике сохранения результата на английском - RU в имени файла
UPD: 27.02.2018: Ver_1.02. Добавил C#-кубик конвертации нестандартных доменных имен (IDN *.рф и т.д.) в Punycode, подправил мелкий косяк «в кубике сохранения результата на английском - RU в имени файла».
 
  • Спасибо
Реакции: Сибиряк

maestroOm

Новичок
Регистрация
28.02.2018
Сообщения
6
Благодарностей
2
Баллы
3
Если не секрет, чем рерайтите?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Если не секрет, чем рерайтите?
В статье нет ни слова о рерайте. Но если задуматься о нем, как о некой машинной быстрой уникализации с минимальным искажением читаемости, то здесь подойдут:
1. Синонимайзеры, которые заменяют слова близкими по смыслу аналогами из своей базы.
2. Реверсный перевод. Это когда берем текстовку, переводим в похожий язык, а потом обратно переводим в язык оригинала. Бреда в 2 раза больше, чем при обычном переводе, но такой бред еще более-менее читаем, и синтаксически правильно выглядит. Платный шаблон-переводчик для массовой работы у меня в подписи :-).
 

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Orka13, спасибо за статью! )
Полезно и интересно будет изучить.
Для полноты картины напрашивается еще вторая статья на тему "Сбор ссылок на страницы сайтов по ключевым словам из ПС" )))
Ну откуда то я же брал ссылки :-), - есть под это быстрый парсер Bing в коллекции. Выложу платную версию на днях, если будет время.
Зря вы на Bing смотрите - у него shadow бан(выдача перестает соответствовать запросу - подсовывается всякая хрень) применяется при превышения лимитов запросов. Да Конечно можно прокси и генирить аноним - но тогда можно и традиционные ПС использовать. Преимущество теряется у Бинга в таком случае
Этот конкурс прост кладезь шаблонов для дорвейщиков. Вот и бесплатный Парсер Bing выкатил @surrealmix. Да, в нем нет проверки на "shadow бан", нет настроек языковых параметров запросов, но все очень просто изложено, для новичков сойдет, халявно ведь!
 
Последнее редактирование:
  • Спасибо
Реакции: garat

Nukekuper

Client
Регистрация
25.04.2017
Сообщения
13
Благодарностей
1
Баллы
3
Где можно прочитать, как правильно делать на Post и Get запросах*?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Где можно прочитать, как правильно делать на Post и Get запросах*?
Размытый вопрос. Конкретно в зенке? На кубиках или на C#?
Пробуйте обычным гугл-поиском:
Post и Get site:zennolab.com
Orka13, спасибо за статью! )
Полезно и интересно будет изучить.
Для полноты картины напрашивается еще вторая статья на тему "Сбор ссылок на страницы сайтов по ключевым словам из ПС" )))
Наконец то выкатил свой шаблон:
Продаю парсер выдачи Bing на Get-запросах с Cookie
 
Регистрация
12.07.2014
Сообщения
823
Благодарностей
305
Баллы
63
Что-то иногда ошибка выходит
Выполнение действия CSharp OwnCode Название кодировки "cp-1251" не поддерживается. Сведения об определении пользовательских кодировок см. в документации на метод Encoding.RegisterProvider.
Имя параметра: name
ID ca018c7e-bef4-40a5-b46a-0954e25fab12
показывает на
http://prntscr.com/j32q9u

Что может быть то?
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
1 696
Благодарностей
1 578
Баллы
113
Что-то иногда ошибка выходит


ID ca018c7e-bef4-40a5-b46a-0954e25fab12
показывает на
http://prntscr.com/j32q9u

Что может быть то?
А это C# не может обработать такое название кодировки, поскольку ее нет в базе (не по "ГОСТу" названа, лопоухие вебмастера и не такое на сайте пропишут), и в итоге ошибка. Подправил этот момент в шаблоне, добавил синонимов к поиску кодировок:
Код:
if (charset == "windows-1251" || charset == "cp1251" || charset == "cp-1251" || charset == "cp_1251")
Перекачайте со стартпоста НЕ прикрепленный файл в конце (его не могу редактировать), а тот архив по ссылке что перед ним. В нем найдете новую версию шаблона 1.03. Там я еще чуть регулярки подправил, а то там лишнего нагорожено.
 
  • Спасибо
Реакции: gnomza75 и Сибиряк
Регистрация
12.07.2014
Сообщения
823
Благодарностей
305
Баллы
63
А это C# не может обработать такое название кодировки, поскольку ее нет в базе (не по "ГОСТу" названа, лопоухие вебмастера и не такое на сайте пропишут), и в итоге ошибка. Подправил этот момент в шаблоне, добавил синонимов к поиску кодировок:
Код:
if (charset == "windows-1251" || charset == "cp1251" || charset == "cp-1251" || charset == "cp_1251")
Перекачайте со стартпоста НЕ прикрепленный файл в конце (его не могу редактировать), а тот архив по ссылке что перед ним. В нем найдете новую версию шаблона 1.03. Там я еще чуть регулярки подправил, а то там лишнего нагорожено.
Супер)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)