Предварительные действия:
1. Если на вкладке «
Анонимность» выставлена опция «
Проверка доступности источника переходов», то перед заходом на сайт источника (ПС, соц.сеть или др. сайт), бот проверит доступность сайта через выбранный proxy-сервер;
2. => Если сайт источника доступен, то будет осуществлён переход на него;
3. => Если сайт источника недоступен, то будет произведено обращение к опции «
Страховой Referrer» (Вкладка «
Источники»)
4. ==> Если опция «
Страховой Referrer» активирована, то бот произведёт заход на целевой сайт, используя сайт источника в качестве «referrer»;
5. ==> если опция «
Страховой Referrer» не активирована, то захода на целевой сайт не будет, сессия будет приостановлена, а в файл с неудачными заходами (
отчёт-провал.txt) будет занесена информация об ошибке;
Примечание: на самом деле, эта лишь один из возможных логических сценариев, так как каждая новая опция (или её отсутствие) будет формировать новые сценарии.
Работа на сайте источнике:
1. Осуществляется непосредственно переход на сайт источника (например, Яндекс);
2. Бот проверяет факт открытия страницы сайта источника по нескольким признакам;
3. Логика формирования ключевых слов для работы;
4. => Если на вкладке «
Источники» активирована опция «
Активировать частотность», то из пяти выбранных ключевых слов будет выбрано одно слово с наибольшей частотностью. Каждое использование ключевого слова снижает его математическую частотность в будущих вычислениях;
5. => Если опция «
Активировать частотность» деактивирована, то вычисления частотностей производиться не будут;
6. Завершение логики формирования ключевых слов для работы с поисковыми системами;
7. Далее бот проверяет вероятность реального перехода в опции «
Вероятность реального захода» с вкладки «
Источники»;
8. => если выпавшее значение соответствует вероятности, то бот продолжает работу по логике реальных переходов;
9. => если выпавшее значение не соответствует вероятности, то бот переходит к логике эмуляции переходов с дальнейшим переходом на целевой сайт с сайтом-источником в качестве referrer;
10. Далее бот вводит ключевое слово непосредственно в поисковую строку поисковой системы и использует клавишу «Enter»;
11. Затем производится сканирование страницы на наличие ссылки на целевой сайт;
12. Вне зависимости от наличия целевого сайта в выдаче, производится скроллинг страницы вниз;
13. => Если целевой сайт не найден, то бот проверяет разрешение производить поиск на других страницах выдачи обращаясь к опцию «
Искать сайт по ключевому запросу в выдаче ПС в»;
14. ==> Если в этой опции выставлено значение «Топ-10», то бот прекратит работу с логикой реальных переходов и обратится к опции «
Страхующий заход» на вкладке «
Источники»;
15. ===> Если опция активирована, то бот перейдёт на целевой сайт, используя сайт источника в качестве referrer;
16. ===> Если опция не активирована, то бот выдаст ошибку и завершит сессию;
17. ==> Если же в опции «
Искать сайт по ключевому запросу в выдаче ПС в» выставлено значение «Топ-20» или выше, то бот перейдёт к логике подмешивания (если нужно);
18. ===> Если подмешивание требуется, то бот произведёт клик по случайному сайту в выдаче, проведёт на нём 10-15 секунд, закроет окно и продолжит активность в выдаче поисковой системы;
19. ===> Если подмешивание не требуется, то бот просто продолжит работу с выдачей ПС;
20. ==> Далее бот произведёт переход на другую страницу выдачи и продолжит работу по предыдущей схеме (минуя некоторые цепи);
21. ===> Если целевой сайт не будет найден, то повторится цикл с подмешиванием;
22. => Если целевой сайт был найден на первой или последующих страницах выдачи (в рамках лимитов), то будет произведён клик по нему;
Работа на целевом сайте:
1. Через 10-15 секунд первая вкладка браузера (где выдача ПС) будет закрыта;
2. Производится проверка факта перехода именно на целевой сайт (в т.ч. проверки на факт открытия страницы и др. проверки);
3. => Если какая-то из проверок не будет пройдена, то бот выдаст ошибку и прекратит сессию;
4. => Если все проверки будут пройдены, то бот перейдёт к следующей логической цепи;
5. Логика эмуляции отказов (опция «
Показатель отказов (%)»);
6. => Если «Да», то через 10 секунд, сессия будет прекращена;
7. => Если (Нет), то бот продолжит работу;
8. Проверка размера страницы (при маленьком размере – страница сайта не загрузилась по тем или иным причинам);
9. Проверка на основные серверные ошибки (400-409, 500-505 и тд.);
10. Эмулятор скроллинга;
11. => Если «Да», то формируется значение производимых эмуляций (исходя из размера страницы), а после и сама эмуляция;
12. => Если «Нет», то бот движется дальше;
13. Далее производится анализ всех ссылок на странице сайта;
14. После выбирается случайная ссылка, ведущая на внутреннюю страницу;
15. Анализ ссылки на наличие мусора (форматы изображений, js, css и тд.);
16. Далее фильтрация по спискам исключений (глобальные и сессионные списки);
17. Другие проверки;
18. Далее, если активирована опция «
History Url», то бот проверит факт перехода на будущую страницу (после клика по выбранной ссылке для перехода);
19. => Если страница не будет найдена в сессионном списке посещённых страниц, то бот продолжит работу и добавит ссылку в этот список;
20. => Если страница будет найдена в сессионном списке посещённых страниц, то бот выберет другую ссылку для клика и возобновит все проверки сначала;
21. Переход бота к другим логическим цепям;
22. Эмулятор скроллинга;
23. Переход бота к другим логическим цепям;
24. Далее если активирован модуль кликов (вкладка «
Клики»), то бот перейдёт к модулю кликов, а если нет, то к дальнейшей работе с целевым сайтом (внутренние переходы);
25. => Если «Нет» (модуль кликов не активирован), то бот перейдёт к следующей логической цепи целевого сайта;
26. Дополнительный предкликовый анализ страницы;
27. Непосредственно клик по ссылке;
28. Проверка на изменение адреса страницы и открытие нужного сайта;
29. Проверка размера страницы;
30. Проверка на серверные ошибки;
31. Предварительный анализ открывшейся страницы;
32. Переход к логике обработки всплывающих окон;
33. Круг завершается и бот переходит к 5-му пункту;
34. => Если «Да» (модуль кликов активирован), то бот проверит активацию опции «
Фильтр GBL IP» (чёрный список);
35. ==> Если опция «
Фильтр GBL IP» активирована, то бот проверит текущий IP по этой базе;
36. ===> Если IP будет найден в списке «GBL», то бот вернётся к работе с целевым сайтом (внутренние клики) и не будет производить обработку кликов в рамках модуля кликов;
37. ===> Если IP не будет найден в списке «GBL», то бот перейдёт к следующей логической цепи модуля кликов;
38. ==> Если опция «
Фильтр GBL IP» деактивирована, то бот сразу перейдёт к следующей логической цепи модуля кликов;
39. ==> Далее бот проверит значение опции «
Пропускать страниц перед кликом»;
40. ===> Если значение «0», то бот перейдёт к следующей логической цепи модуля кликов;
41. ===> Если значение «1» (или выше), то бот вернётся к работе с целевым сайтом (внутренние клики);
42. ==> Далее бот проверит, какие рекламные зоны уже поддерживаются шаблоном;
43. ==> Далее бот переходит к выбранной в настройках рекламной зоне;
44. ==> Логика подготовки данных для клика (вероятности, резервы, детекторы);
45. ==> Допустим, в качестве рекламной зоны выбраны «
Контекстные ссылки»;
46. ==> Бот попробует произвести клик на текущей странице;
47. ===> Если клик будет произведён, то бот перейдёт к следующей логической цепи модуля кликов;
48. ===> Если клик не будет произведён, значит, цель клика отсутствует на текущей странице, и бот попробует перейти на ту страницу, где расположена «цель для клика»;
49. ====> Если на текущей странице есть ссылка на страницу, где находится «цель для клика», то бот переходит по этой ссылке, а после производит клик по «цели для клика»;
50. ====> Если на текущей странице отсутствует ссылка на страницу, где находится «цель для клика», то бот обратится к опции «
Простой поиск пути»;
51. =====> Если опция активирована, то бот сразу перейдёт на страницу, на которой находится цель для клика (данные должны быть прописаны во входном файле), а после произведёт клик;
52. =====> Если опция не активирована, то бот либо выдаст ошибку, либо вернётся к работе с целевым сайтом (внутренние переходы);
53. ==> Если клик произведён, то бот произведёт различные проверки на истинный переход, на открытие нужной страницы, высоту страницы, серверные ошибки и тд.;
54. ==> Если все проверки пройдены, то бот перейдёт к
логике внешнего сайта, которая во многом напоминает логику работы с целевым сайтом;
-------------------------------------
Конечно, я не стал указывать в описании данного логического сценария выходы на другие сценарии шаблона (через те или иные активированные опции), а также не стал упоминать сотни сервисных цепей.
Для справки: Если кому интересно, то шаблон «
Сими 4.0» это шаблон каскадного типа, что значит, что в нём свыше 600 тысяч динамических переменных, но при этом это ни коим образом не влияет на его конечный размер и производительность.