Чекер признаков сайтов на запросах и с браузером

Регистрация
03.12.2020
Сообщения
161
Реакции
114
Баллы
43
Всем привет. Шаблон создан, чтобы набраться опыта и накопить на лицензию ZennoPoster.

Шаблон сделан по запросу пользователя FAQBILL. Ему потребовался шаблон который смог бы загружать в браузере ссылки или домены из входного файла и проверять загруженное содержимое на наличие неких признаков, которые можно было бы задать во входных настройках шаблона. Например, чтобы отобрать из массы скачанных с https://www.icann.org/ доменов сайтов с формами обратной связи, или ссылками на регистрацию.
При помощи этого шаблона вполне можно отобрать по признакам сайты на разных движках:

Например:
C#:
Развернуть Свернуть Копировать
WordPress
/wp-content/themes/

Joomla
"Joomla! is Free Software"
"Powered by Joomla!"
"About Joomla!"
"Designed by JoomlArt.com

А недавно мне просто понадобилось прочекать 57 тысяч доменов на присутствие ответа или парковку. То есть, надо было узнать, висят эти домены или там что-то есть. Что может быть проще, как задать шаблону признак "200 OK" ;-)

Шаблон на запросах получился довольно шустрым, поскольку в нем нет ничего лишнего.

Входные настройки просты:

73636


На вход подается текстовый файл со списком доменов/ссылок. В поле Что ищем указывается признак. Можно выбрать файл с прокси.
Отдельного внимания заслуживает разве что галочка Добавлять попытки. Если она установлена, то в конце каждой итерации будет устанавливать количество попыток в ZennoPoster равное количеству строк во входном файле.


Вот карта этого шаблона:
73635


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

Результатом работы шаблона станут три файла.
Имя выходных файлов формируются из названия входного файла, режима работы и статуса проверки.
1. Имя файла_get_Found.txt - искомый текст обнаружен
2. Имя файла_get_Not_Found.txt - искомый текст не обнаружен
3. Имя файла_get_Error.txt - при загрузке этик ссылок произошла ошибка/сбой

На практике хватает чекера на запросах, однако для достижения максимальной достоверности, можно собрать все неудачные списки в один и прогнать через браузерную версию чекера, ведь в последнее время стало модно защищать сайты CloudFlare или еще каким-нибудь CDN, да и просто скрипт JS можно закрыть жертву от парсинга. В данном же случае, использование прокси и браузерной версии чекера решают эту задачу.

Отличается браузерная версия только установкой прокси и тем, что признак парсится из {-Page.Dom-}.

Всем успехов и удачи!

Конструктивная критика приветствуется!
 
Номер конкурса шаблонов
  1. Седьмой конкурс шаблонов
Уровень сложности
Лёгкий
Категория
  1. Чекер

Вложения

Последнее редактирование модератором:
Шаблон создан, чтобы набраться опыта и накопить на лицензию ZennoPoster.
Молодец. Уже вторая твоя тема, жаль призовые дают только за одну, которая наберет больше голосов. Но все равно, так держать. :az:
 
  • Спасибо
Реакции: Antonio Banderas
стало модно защищать сайты CloudFlare или еще каким-нибудь CDN, да и просто скрипт JS можно закрыть жертву от парсинга. В данном же случае, использование прокси и браузерной версии чекера решают эту задачу
Вот это самое важное преимущество, обычный парсинг по признакам работает во многих софтах.
Кстати, базы данных Интернет-магазинов не у кого нет?
 
  • Спасибо
Реакции: Antonio Banderas
Молодец. Уже вторая твоя тема, жаль призовые дают только за одну, которая наберет больше голосов. Но все равно, так держать. :az:
Все остальные участники получат по 40-50$) Если считать каждую статью, то уже соточка))
 
  • Спасибо
Реакции: Antonio Banderas
Если считать каждую статью, то уже соточка))
Призовые только за одну статью начисляют, ту которая больше голосов наберет. А вот если призовые в личный кабинет зачислять, то они удваиваются. :az:
 
  • Спасибо
Реакции: Antonio Banderas
в последнее время стало модно защищать сайты CloudFlare или еще каким-нибудь CDN, да и просто скрипт JS можно закрыть жертву от парсинга. В данном же случае, использование прокси и браузерной версии чекера решают эту задачу.
Это даже с браузером не спасет.
Половину блокировок можно обойти подставив реферер разных ПС либо же изначальный сайт
 
  • Спасибо
Реакции: burhanov88 и sp.gst
Круто вышло, отбирать по признакам, как некоторые известные спамилки и парсеры выходит, а вот здесь не совсем понял, где там домены, сори конечно, но не нашел пока):

Например, чтобы отобрать из массы скачанных с https://www.icann.org/ доменов сайтов
 
Отличная работа, спасибо !!
 
  • Спасибо
Реакции: Antonio Banderas
По признакам сайтов, если нужно cms найти, то
[SARCASM MODE ON]Если вдруг у вас появилась нестандартная задача по выборке, в которую вы бы не хотели никого посвящать, то конечно же удобнее обратиться к разработчику ваппалайзера за реализацией, или разбираться в яваскрипте, на котором написан его продукт [SARCASM MODE OFF]
 
Спасибо за идею. Правда я свои паттерны применил. В аттаче выходные результаты 50 000 + с кучей результатов.
 

Вложения

Это даже с браузером не спасет.
Половину блокировок можно обойти подставив реферер разных ПС либо же изначальный сайт
Данный форум тоже под CloudFlare
WIN+R CMD CURL -L -I zennolab.com
Далее распарсить
 
  • Спасибо
Реакции: Antonio Banderas
понадобилось прочекать 57 тысяч доменов на присутствие ответа или парковку
И так каждый раз заново на один признак? Посмотрел шаблон, как в него вставить сразу большой список признаков?
Во входных настройках одна строка для регулярки.
 
  • Спасибо
Реакции: Antonio Banderas
И так каждый раз заново на один признак? Посмотрел шаблон, как в него вставить сразу большой список признаков?
Во входных настройках одна строка для регулярки.
Имхо,

var regex = new System.Text.RegularExpressions.Regex("Ваш_Regex");
var regex2 = new System.Text.RegularExpressions.Regex("Ваш_Regex_2");
var regex3 = new System.Text.RegularExpressions.Regex("Ваш_Regex_3");
1998 CMS и у некоторых более десятка признаков. Нетривиальная задача. Завидую тем кто только начинает это увлекательное путешествие в паттерное проектирование
 
  • Спасибо
Реакции: Antonio Banderas
И так каждый раз заново на один признак? Посмотрел шаблон, как в него вставить сразу большой список признаков?
Во входных настройках одна строка для регулярки.
Способов как решить эту задачу - много.
1. Закинуть шаблон в зенку столько раз, сколько признаков нужно искать и в каждой копии настроить нужные параметры.
2. Добавить в шаблон еще один список и делать перекрёстные сравнения, после получения ответа сайта, как это было сделано в платном варианте данного шаблона.
3. Тут могли быть ваши варианты решения этой задачи :)
 
  • Спасибо
Реакции: DevOps
Способов как решить эту задачу - много.
1. Закинуть шаблон в зенку столько раз, сколько признаков нужно искать и в каждой копии настроить нужные параметры.
2. Добавить в шаблон еще один список и делать перекрёстные сравнения, после получения ответа сайта, как это было сделано в платном варианте данного шаблона.
3. Тут могли быть ваши варианты решения этой задачи :-)
Можно про платный шаблон в личку?
 
еще один список и делать перекрёстные сравнения
Как оно будет работать, если нужно проверить несколько признаков?

Тут могли быть ваши варианты решения этой задачи
у меня другие подходы к решению похожих задач, например, интересны ваши варианты
 
  • Спасибо
Реакции: Alexmd
Как оно будет работать, если нужно проверить несколько признаков?
Почти также. Просто после выполнения запроса, в полученном ответе делается поиск всех признаков из дополнительного списка (признаков). В случае обнаружения, по имени признака создается каталог, куда и помещаются результаты.
 
Как оно будет работать, если нужно проверить несколько признаков?


у меня другие подходы к решению похожих задач, например, интересны ваши варианты
KALI LINUX инструмент WhatWeb
Будут вопросы с командами пишите в личку
 
  • Спасибо
Реакции: specialist
что за файл такой zp? Не могу его в zennoposter открыть
 

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