Задать вопрос
Ответы пользователя по тегу Боты
  • В чем разница между selenium, playwright и puppeteer?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    - В 15 годах писал похожий парсер, используя node, fetch и axios, но сейчас часть сайтов возвращает html без таблиц с ценами, почему?

    - Для чего нужны selenium, playwright и puppeteer, если я могу через fetch и axios все получить?

    Скорее всего проблема в динамическом формировании этих данных на странице. Тут сразу 2 правильных ответа, можете и не можете единовременно:
    - Можете - в инструментах разработчика браузера смотрите, с какого адреса приходят данные и затем дергайте данные напрямую, минуя сам сайт, в таком случае можно продолжать использовать fetch.
    - Не можете - если вариант выше сложен, то вам нужен инструмент, который сможет выполнять js на странице. fetch/axios возвращают первый ответ сервера, т.е. js на тот момент еще не выполнился на странице, соответственно данные не были подгружены. Вопрос рендера js на странице решают инструменты по типу selenium, playwright и puppeteer.
    - Если все же использовать selenium, playwright и puppeteer, что из них лучше на данный момент?

    Вначале нужно определить, что понимается под "лучше":
    - Можно использовать критерий современности, тогда puppeteer отпадает (playwright написала команда puppeteer).
    - Можно использовать критерий производительности, тогда selenium проигрывает playwright сразу по 2 пунктам, по прожорливости и отклику на действия.
    - Можно использовать критерий обнаружения анти-бот системами, тогда selenium (с учетом undetected_chromedriver) проигрывает playwright тем, что имеет явную дополнительную задержку в ~100-300мс при выполнении CDP команд, что прям заметно. Playwright такой задержки либо не имеет вообще, либо она в рамках погрешности.
    Можно ли их с nodejs использовать?

    Selenium написан на java, но так же имеется возможность использования его с nodejs. Playwright вообще написан на ts, все примеры документации и сопутствующие библиотеки с большей вероятность будут писаться под ts по умолчанию.
    - Часто вижу о упоминание CDP в контексте парсинга, это зачем и для чего нужно?

    CDP (Chrome DevTools Protocol) грубо говоря - это некие "низкоуровневые" команды для "chromium based" браузеров, который позволяют этим браузером управлять. В playwright так реализованы большинство "высокоуровневых" команд, например: при использовании playwright мы пишем await locator.getAttribute(name), а playwright использует аналогичную команду из CDP DOM.getAttributes или DOM.describeNode.
    - Что использовать для отправки сообщений в телегу?

    Если речь идет об nodejs, то Telegraf.
    Ответ написан
    1 комментарий
  • Как анти-бот системы определяют ботов и как от них защищаться?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я отправлю гет запрос из консоли то увидит-ли меня сайт где именно я нахожусь?

    Напрямую нет, но косвенно можно понять это по ip адресу исходящего запроса.
    Если я будут использовать селениум то увидит-ли меня сайт где именно я нахожусь?

    Напрямую нет, но косвенно можно понять это по ip адресу + гуглите, что такое утечки dns и как можно определить настоящий ip (минуя прокси) через webrtc.
    Селениум хороший анти-детект браузер? Видел еще playwright он лучше?

    Selenium - это вообще не антидетект браузер, а лишь программа, которая использует browser-driver для управления браузером. Selenium + undetected-chromedriver простая защита сайта не обнаружит, но вот средненькие антибот системы он уже часто не проходит. Playwright хуже определяется антибот системами.
    Как обычно парсят сайты со сложной защитой? Где продаются такие боты?

    Пишут свои приватные реализации ботов, которые обычно не продаются, т.к. прибыль от бота сильно выше его разовых продаж, а как только его продадут, так о нем сразу узнают те, кто пишет антибот системы. Либо используют готовые паблик сервисы, которые предоставляют api доступ по подписке с приличной стоимостью, но они не всегда в состояние преодолеть сложную защиту, т.к. этими же сервисами пользуются и те, кто пишут эту самую антибот защиту.
    Как анти-бот системы определяют ботов наверное есть какие отличительные признаки?

    Профессионально обнаружением ботов занимаются отдельные команды или даже целые компании (Radware, DataDome, Cloudflare, Imperva, Arkose Labs, HUMAN Security, Akamai, hCaptcha итп). Обнаружение сводится к прямому и косвенному методам.

    Прямые методы обнаружения:
    - Частота запросов и "доверие" (trust) к конкретному ip.
    - Проверка заголовков User-Agent. Заголовки от iphone, версия браузера от андройда, а размер дисплея от ноута - надежно!
    - Отпечатки рукопожатий TLS/QUIC (векторы JA3/JA4, ALPN, расширенный порядок).
    - Проверка выполнения JS.
    - Обнаружение признаков использования драйверов браузеров (window.navigator.webdriver, window.document.__webdriver_script_fn итп), открытости DevTools итп.
    - Шрифты: через js получают список шрифтов (откуда у вас Ubuntu шрифт на Андройде?), затем выборочно печатают на canvas изображение нужным шрифтом или печатают невидимый шрифт без канваса (применяют css свойство с найденным шрифтом), затем замеряют размеры результата и сверяют его с эталоном.
    - Видеокарта: через js рисуют на canvas невидимое изображение с цифрами, спецсимволами и смайликами, затем получают представление изображения в виде кода. Через WebGl можно нарисовать 3D изображение.
    - Камера. Как это у вас 3 камеры на samsung a32, если их 4?
    - Гироскоп, компас, акселерометр (все это без разрешения работает на андройде). Почему ваш гироскоп не двигается несколько минут подряд, хотя геолокация и ip gsm вышек меняются?
    - Анализ аудио рендеринга без разрешения на доступ к аудио (используется только программный аудио стек), где собираются уникальные артефакты обработки звука в зависимости от аппаратного обеспечения. Генерируется аудиосигнал, который обрабатывается через цепочку фильтров и эффектов (динамическая компрессия, частотные изменения, реверберация, изменение частотной или амплитудной модуляции итп).
    - Остальная проверка характеристик браузера->устройства: процессор, оператива, дисплей, плагины, часовой пояс, язык. У вас в браузере установлен русский язык, тайм-зона германии, последняя геолокация час назад в италии, а сейчас вы используете ip адрес гондураса, и как ему удается свайпать по НЕ сенсорному дисплею? - чистокровный человек, пропускаем! ;)
    = Собираем данные, хэшируем и получают относительно уникальный отпечаток (fingerprint). Уникальность заявляется разная, вплоть до 99%.

    Косвенные методы обнаружения:
    - Частота запросов и "доверие" (trust) к конкретному ip. Внезапно начался наплыв пользователей, да и еще примерно с одинаковыми характеристиками устройств, при этом хозяин сайта не давал рекламы или как то привлекал пользователей...
    - Нестандартный скролл/свайпы/клики у пользователей, ошибки и скорость ввода текста. Внезапно резко наплывшие пользователи стали скролить примерно до одного блока, делали 3 свайпа по 5-6 точек в каждом, хотя до этого все скролили по разному...
    - Нестандартная реакция на всплывающие окна. Скролл поверх фиксированного окна - бесценно... ;)
    - Нестандартная последовательности посещенных страниц.
    - Нестандартное количество проведенного времени на странице.
    - Клики по невидимым для живого человека ссылкам, заполнение невидимых полей и отправка формы, когда она не может быть отправлена, в результат не верной js валидации полей - это вообще не стареющая классика.
    - Геолокация - только с разрешения, но после разрешения можно получить много косвенных данных для анализа. Какая точная у вас геолокация, всегда до метра, и прыгает всегда по 10 метров, а у других на таком же устройстве все дергается как го*но в проруби...
    = Собираем данные, заливаем в нейронку и сравниваем с эталонными пользователями.

    Это лишь самые распространенные методы обнаружения, которые используют большинство топовых антибот систем.
    Ответ написан
    6 комментариев
  • Как запретить (ограничить) ботов грузить сайт?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Заметил, что за последние 2 месяца резко выросла нагрузка на сайт

    Если источники трафика на сайт не изменялись - 100% боты.
    основные посетители это Android 13, которые находятся на сайте от 0 до 20 секунд

    Новичков видно издалека.
    Я так понимаю - это могут спокойно делать конкуренты, чтобы понизить сайт в поисковой выдаче?

    Не обязательно, но вполне вероятно.
    Как это можно ограничить?

    Вариантов много (а также разные cdn и капчи, вроде cloudflare, akamai, recaptcha и smartcaptcha), но все это действует лишь на простых и частично, на средних ботов.
    Ответ написан
    2 комментария
  • Странное поведение метрики?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Похоже какой-то бот...

    По совокупности данных - очень похоже на ботов.
    И что ему надо, чем может быть опасен

    Один из вариантов:
    - Собирают данные с вашего сайта - опасности особой нет, за исключением того, что они нагружают сервер.
    - Пытаются скрутить поведенческий факторы - опасности особой нет, т.к. крутят нелепо и легко попадают под анти-бот систему.
    как от него избавиться?

    Один из вариантов, от простого к сложному:
    1. Закрыть сайт для публичного доступа.
    2. Не показывать метрику ботам, но здесь нужна какая то анти-бот система. Сайт будет все равно грузиться, но поведенческие факторы будут слабо падать.
    3. Вычислить ботов и показывать им слегка другие данные (shadow-ban), пусть заказчик бота танцует.
    Ответ написан
  • Летит бот-трафик с разных сайтов?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Ребят, как найти источник злодеяния?

    Искать ничего не нужно, нужно блокировать то, что возможно заблокировать с минимальными издержками. Самый быстрый вариант - CloudFlare, гуглить "CloudFlare Bot Blocking guide". Сразу говорю, CloudFlare слегка просаживает позиции сайта за счет увеличения времени доступа к контенту сайта, НО! Если удастся отфильтровать большинство ботов, то тем самым Вы поднимите ПФ сайта, и можно рассчитывать на то, что сайт как минимум вернется на изначальные позиции, а может и выше.
    Кстати, я заходил на эти самые говносайты и линкбэк я на свой сайт не обнаружил - вероятно их используют как рефер может быть или просто перенаправление.

    Бот может создавать ссылку в dom страницы и кликать по ней. Анкор ссылки может быть разным, но видел следующие варианты: "сайт продает наркотические вещества", "сайт обманывает пользователей", "сайт крадет данные кредитных карт" итп. Как Вы понимаете, на этом сайте стоят счетчики всех популярных ПС, которые видят клик по ссылке с этим анкором. Насколько эффективно ПС могут бороться с таким "SEO" - это другой вопрос.
    Также сразу вызывает подозрение, что IP адреса - все от мобильных операторов.

    Потому что это самый эффективный вариант маскировки ботов, особенно, если в Вашей тематике итак было 80%+ мобильных ip.
    Ответ написан
    Комментировать
  • Есть ли способы борьбы со спамными лидами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    С начала декабря видим увеличение спамных лидов, прогрессия примерно такая: ноябрь 3%, декабрь 10%, январь 20%.

    Среднее поведение.
    В заявках указаны реально существующие номера телефонов, ФИО полностью, но когда менеджеры по ним звонят, то люди либо орут, что их достали уже звонками, а они нигде свои заявки не оставляли, либо вовсе не берут трубку.

    Среднее поведение.
    смотрела по вебвизору - похоже на поведение людей, но странное. вход на страницу, сразу переход к форме

    Простое поведение.
    ввод данных, причем не вставка сразу номера или ФИО, а виден набор (иногда видно, как что-то стирают и вводят вновь)

    Сложное поведение.
    Кто-то уже сталкивался с подобным

    "Сталкивался".
    Контекстологи не понимают в чем дело

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

    уверяют что нужно ставить проги антифрода, но что-то не верится, что это поможет...

    1. Антифрод поможет, если против Вас боты начального уровня, которые не сильно заморачиваются в маскировку.
    2. Подтверждение заявок через смс, клиент оставляет заявку, Вы просите подтвердить его номер через смс. Таким образом Вы убиваете сразу двух зайцев, боретесь со спамом и можете эффективнее настраивать конверсию из сделок в crm для контекстной рекламы.

    В любом случае, бороться с фродом Вы сможете лишь на своем сайте, т.е. в случае чего, повлиять, например, на скликивание рекламы Вы не сможете.
    Ответ написан
    Комментировать
  • На сколько разрешено перепост с заблокированных сайтов и разумно ли это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Но т.к. Твиттер заблокирован я подумал, что может быть это все не законно, но так ли это?

    Он заблочен РКН, но не признан экстремистской организацией, в отличие от инсты и fb.
    Правила твиттера, при цитирование, Вы должны поставить ссылку на источник.
    С одной стороны мне кажется её рискованно делать, с другой видел много новостей, которые пришли с заблокированных сайтов и всё вроде нормально.

    Ошибка выжившего, Вас не будут трогать, пока Вы не представляете интереса.
    Ответ написан
    Комментировать
  • Как удалить просроченные товары в разделе товары в ВК автоматически?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как удалить просроченные товары в разделе товары в ВК автоматически?

    Написать скрипт.
    или на чём он пишется

    На языке программирования. Учитывая, что у Вас в тегах Python - то на Python он так же пишется.
    Ответ написан
  • Как заставить бота копировать строки в txt поочередно?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Открыть файл.
    2. Пройтись построчно файла циклом, при каждой итерации которого - "вставлять её куда нужно".
    Ответ написан
    Комментировать