Как сделать Автоматический кликер в Python | Auto Clicker Script
Auto clicker-это скрипт, доступный на python, который облегчает пользователю многократное нажатие мыши с небольшими интервалами задержки.
Как сделать Автоматический кликер в Python | Auto Clicker Script
Привет, кодеры!! В этой статье мы разберемся с концепцией auto clicker в python. Сначала мы поймем его значение и его реализацию в python. Поэтому, не теряя времени, давайте сразу перейдем к теме.
Что такое автоматический кликер?
Auto clicker-это скрипт, доступный на python, который облегчает пользователю многократное нажатие мышью в течение небольших интервалов задержки. Он управляется пользовательскими ключами и работает в любой среде-Windows, Mac и Linux. Для достижения этой цели мы будем использовать модуль под названием PyAutoGUI в Python. Это позволит нам одновременно управлять мышью и следить за клавиатурой.
Способы создания Автоматического кликера в Python:
Установка PyAutoGUI:
Чтобы установить pyautogui, введите следующую команду:
Ключевые особенности PyAutoGUI:
Управление клавиатурой и мышью с помощью PyAutoGUI:
PyAutoGUI использует координату (x,y) с началом координат (0,0) в левом верхнем углу экрана. Координаты x увеличиваются, когда мы идем вправо, тогда как координаты “y ” увеличиваются, когда мы идем вниз. В настоящее время PyAutoGUI работает только на основном мониторе. Это ненадежно для экрана второго монитора. Все нажатия на клавиатуре, выполняемые PyAutoGUI, доставляются в окно, которое в данный момент имеет фокус.
Создание автоматического кликера в Python с помощью PyAutoGUI:
Создание Автоматического кликера в Python с помощью ввода:
Pynput-это модуль, доступный в python и используемый для управления движениями мыши. Он может быть использован для создания автоматического кликера в python.
Установка Pynput:
Чтобы установить input, введите следующую команду:
Объяснение:
Импорт необходимых модулей:
Объявление важных переменных:
Создание класса для расширения потоковой передачи:
Созданный поток позволит нам управлять щелчками мыши. Есть два параметра – задержка и кнопка. Есть также два флага о том, работает программа или нет.
Создание методов для обработки потока извне:
Создание метода, который будет выполняться при запуске потока:
Этот метод будет запущен после запуска потока. Мы будем продолжать повторять цикл до тех пор, пока значение run_prgm не станет истинным. Цикл внутри первого цикла повторяется до тех пор, пока значение прогона не станет Истинным. Как только мы окажемся внутри обеих петель, мы нажмем кнопку set.
Создание экземпляра для контроллера мыши:
Созданный нами поток Mouse_click запустится, когда пользователь войдет в цикл в методе run.
Создание метода настройки прослушивателя клавиатуры:
Если нажата клавиша begin_end, она перестанет щелкать, учитывая, что флаг установлен в true. В противном случае он начнет его. Если нажата клавиша exit_key, то метод exit вызывается в потоке и останавливает href=”https://en.wikipedia.org/wiki/Listener”>слушатель. href=”https://en.wikipedia.org/wiki/Listener”>слушатель.
Подробнее >> Интересные Фреймворки Python, Которые Вы должны знать
Вывод: Python Auto Clicker
Это два разных способа, с помощью которых можно создать автоматический кликер в python. Он может быть дополнительно модифицирован в соответствии с вашими требованиями.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Python. Создание веб бота (WebScrapping) [1]
Предисловие.
Веб-бот — это программа, которая автоматизирует ваши действия в интернете.
В этой статье, я объясню общий принцип создания ботов на Python, применив полученные знания, вы сможете создать бота который:
Создаем первого бота на Selenium.
Selenium — это библиотека для автоматизации действий в браузере.
Данный способ подойдет для любого сайта, однако, за все нужно платить. Selenium запускает браузер, отъедая огромный запас оперативной памяти. Используйте его только тогда, когда нужно выполнить JS код на странице.
Первым делом нужно установить библиотеку, для этого введите в консоли:
Далее, установите веб-драйвер под браузер Firefox отсюда. Также, необходимо установить браузер Mozilla Firefox, если еще не установлен.
Теперь напишем простейшего бота. Для этого, напишите следующий python скрипт.
Код скрипта описан в комментариях.
Далее, переместите файл скрипта, в одну папку с веб-драйвером geckodriver.exe
И запустите python скрипт. У вас должен открыться браузер.
В адресной строке видна иконка робота, это значит, что браузером управляет программа.
Хорошо, бот создан, но он бесполезен. Единственное на что он способен, это заходить на сайт. Давайте добавим ему новых функций. Например, сделаем так, чтобы бот лайкал посты на сайте.
Бот лайкающий посты на сайте.
Последовательность действий у нас следующая.
Первый пункт мы уже сделали, перейдем ко второму.
Пройтись по каждому из постов.
На этом этапе, нужно понимать разметку HTML.
Зайдите на сайт, и нажмите кнопку F12.
У вас откроются инструменты разработчика. Изучив разметку, мы понимаем, что все посты находятся в теге article.
Сейчас нам нужно получить ссылку, на каждый пост. Для этого будем использовать этот css селектор.
Данный селектор указывает:
Теперь, дополним бота.
Разберем новую функцию.
Данная функция ищет элементы по css селектору. В результате своей работы, она возвращает массив элементов.
В-общем, мы из этого массива, достали первый элемент, и при помощи функции get_attribute(), получили значение атрибута href (ссылка на пост).
И вывели его на экран.
Запустите скрипт, в консоли должна появится ссылка на первый пост.
Если закинуть массив элементов в цикл, то получится извлечь ссылки на все посты.
Отлично, ссылки на все посты получены, осталось всем этим постам, поставить лайк.
Нажать кнопку лайк, если она не нажата
Сначала перекопируем наши ссылки в отдельный массив. Замените это:
Далее напишем код, отвечающий за нажатие кнопки лайк.
Разберем данные строки.
Данная строка ищет кнопку с помощью css_селектора, и получает строку с названиями классов нашей кнопки.
Далее, при помощи функции find (стандартная функция python), мы получаем индекс подстроки ‘wp_ulike_btn_is_active‘, если не удалось найти подстроку, функция find возвращает -1, этим мы и воспользовались в нашем условии. Т.е. если атрибут ‘class‘ не содержит подстроку ‘wp_ulike_btn_is_active‘, то.
Кликаем по кнопке лайк.
Осталось закрыть браузер, делается это с помощью функции quit().
Бот завершен, запустите скрипт, и наслаждайтесь автоматизацией.
Делаем браузер невидимым
Бот работает и все-бы ничего, но своим окном бразуера, он перекрывает все остальные окна. К счастью, у Firefox есть headless режим, позволяющий пользоваться функциями бразура, не открывая окно браузера.
Добавьте следующий код перед инициализацией браузера:
Здесь, мы переопредили настройки браузера, осталось передать их, нашему браузеру.
Простой Java бот-кликер на примере игры World of Warcraft 3.3.5a
Данный механизм тестировался исключительно на пиратском сервере, потому его работоспособность на официальных серверах не гарантирована.
Все попытки применения — исключительно на свой страх и риск.
Реализация приведена для Windows десктопов.
Итак, создадим простой бот, целью которого будет:
1) зайти в игру;
2) зайти в аккаунт;
3) зайти в игровой мир;
4) открыть почтовый ящик;
5) сформировать и отправить письмо другому игроку;
1) Зайти в игру
Для того чтобы зайти в игру, нам нужно собственно иметь заранее скачанный клиент игры.
В работе мы используем exe файл Wow.exe. Запишем его путь следующим образом:
Здесь мы записали путь к исполняющему файлу Wow. У Вас этот путь вероятно будет отличаться.
Путь — это конечно хорошо, но этого мало, для того чтобы запустить игру.
Для запуска нам потребуется вот такой код:
В результате применения вышеуказанного кода, у вас на компьютере должен запуститься WoW.
WoW мы запустили и тут же столкнулись с новой проблемой — Как сделать так чтобы бот автоматически ввел логин и пароль от аккаунта?
2) Зайти в аккаунт
Теперь? нам нужно записать еще две текстовых переменных.
Здесь мы записали Логин и Пароль от аккаунта в который собираемся войти. Однако если мы используем из сразу после той части коде, где мы входим в игру — будет неприятность. А все потому, что наш бот будет выполнять код не зависимо от того, загрузился ли Варкрафт, а игре нужно некоторое время для загрузки, если вы работаете на слабом ПК то времени потребуется еще больше.
Чтобы логин и пароль не «ввелись» раньше времени, мы сделаем паузу в нашем коде:
Здесь мы сделали паузу на 20 сек. У меня этого времени хватает более чем, чтобы загрузился WoW. Стоит отметить, что сразу после загрузки WoW мы уже имеем по умолчанию выбранным поле для логина. Все что нам теперь нужно сделать — скопировать логин из нашей переменной в буфер обмена и вставить в поле для логина:
Здесь мы скопировали наш Логин в буфер обмена и сымитировав нажатие комбинации Ctrl+V, вставили логин в соответствующее окно.
Теперь нам нужно переключится на окошко для ввода пароля. Это можно сделать двумя путями:
— Мы можем сымитировать движение мыши и клик по второму окошку.
— Мы можем переключиться, сымитировав нажатие на кнопку Tab.
Мы воспользуемся вторым вариантом, так как он проще:
Далее скопируем в буфер обмена наш пароль и вставим его:
Ура. Мы вошли в меню выбора персонажа. Теперь нужно войти в игровой мир.
3) Зайти в игровой мир
Теперь мы видим на экране меню выбора персонажа. Мы пожалуй не будем особо перебирать и зайдем на первого попавшегося персонажа.
Для того, чтобы войти, мы можем использовать два разных варианта:
— Переместить курсор мыши на кнопку «Войти» и сымитировать клик;
— Сымитировать нажатие на кнопку Enter;
Второй вариант проще, но если мы допишем нажатие сразу после функции входа, то снова будут неприятности, потому снова сделаем паузу, давая игре спокойно зайти в меню выбора персонажа:
Мне 5 сек. хватает с головой.
О чудо, пошла загрузка игрового мира!
4) Открыть почтовый ящик
Здесь нам снова придется сделать паузу, дабы WoW успел загрузить игровой мир. Так же желательно предварительно подготовить персонажа:
— Максимально приблизить камеру;
— Стать лбом в почтовый ящик;
Для того чтобы открыть почтовый ящик, нужно крикнуть по нему правой кнопкой мыши. Для этого мы переместим курсор мыши и сымитируем клик:
Учитывайте, что позиция мыши указанная мной, рассчитана на разрешение экрана 1366х768.
BUTTON3 — это именно правая кнопка мыши.
Почтовый ящик открыли, теперь перейдем в вкладку «Отправить»:
Здесь мы не только имитировали перемещение мыши по экрану, но и сделали клик левой кнопкой мыши.
Теперь самое время заполнить и отправить письмо!
5) Сформировать и отправить письмо другому игроку
Теперь нам нужно заполнить пункты:
— Имя получателя;
— Тема сообщения;
— Текст сообщения;
Для начала поместим в буфер обмена, имя персонажа и вставим его в соответствующую графу:
Мы вставили имя получателя и переключились на другую графу. Теперь нужно вставить тему сообщения:
Вставили тему сообщения и переключились на третью графу — текст сообщения:
Вставили текст сообщения. Теперь только осталось нажать на кнопку «Отправить»:
Переместили курсор и нажали левой кнопкой мыши на «Отправить».
Вот собственно и все. Надеюсь, это было полезно хоть кому-то. Так же очень надеюсь, что данная статья не была воспринята как руководство к действию и не приведет к увеличению количества спама в игре.
Пишем бота-кликера на Python для Lineage 2
Предисловие
Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.
Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).
В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.
Вообще, создание бота для L2 дело не новое и их готовых есть довольно много. Делятся они на 2 основные группы: те, которые внедряются в работу клиента и кликеры.
Первые — это жёсткий чит, в плане игры пользоваться ими слишком уж неспортивно. Второй вариант интереснее, учитывая, что его можно будет с некоторыми доработками применить к любой другой игре, да и реализация будет интереснее. Те кликеры, которых я находил, по разным причинам не работали, либо работали нестабильно.
Внимание: вся информация здесь изложена только в познавательных целях. Особенно для разработчиков игр, чтобы помочь им лучше бороться с ботами.
Работа с окном
Тут все просто. Будем работать со скриншотами из окна с игрой.
Для этого определим координаты окна. С окном работаем с помощью модуля win32gui. Нужное окно определим по заголовку — “Lineage 2”.
Получаем картинку нужного окна с помощью ImageGrab:
Теперь будем работать с содержимым.
Поиск монстра
Самое интересное. Те реализации, которые я находил, мне не подошли. Например, в одном из популярных и даже платном это сделано через игровой макрос. И “игрок” должен для каждого типа монстра прописывать в макросе типа “/target Monster Name Bla Bla”.
В нашем случае мы последуем такой логике: в первую очередь найдём все тексты белого цвета на экране. Белый текст может быть не только названием монстра, но и именем самого персонажа, именем NPC или других игроков. Поэтому надо навести курсор на объект и если появится подсветка с нужным нам паттерном, то можно атаковать цель.
Вот исходная картинка, с который будем работать:
Закрасим черным своё имя, чтобы не мешало и переведем картинку в ч/б. Исходная картинка в RGB — каждый пиксель это массив из трёх значений от 0 до 255, когда ч/б — это одно значение. Так мы значительно уменьшим объем данных:
Найдем все объекты белого цвета (это белый текст с названиями монстров)
Находим середины получившихся пятен
Работает, но можно сделать прикольнее (например, для монстров, имена которых не видны, т.к. находятся далеко) — с помощью TensorFlow Object Detection, как тут, но когда-нибудь в следующей жизни.
Теперь наводим курсор на найденного монстра и смотрим, появилась ли подсветка с помощью метода cv2.matchTemplate. Осталось нажать ЛКМ и кнопку атаки.
С поиском монстра разобрались, бот уже может найти цели на экране и навести на них мышь. Чтобы атаковать цель, нужно кликнуть левой кнопкой мыши и нажать «атаковать» (на кнопку «1» можно забиндить атаку). Клик правой кнопкой мыши нужен для того, чтобы вращать камеру.
На сервере, где я тестировал бота, я вызвал клик через AutoIt, но он почему-то не сработал.
Как оказалось, игры защищаются от автокликеров разными способами:
А некоторые приложения, как клиент этого сервера, могут определять источник клика на уровне ОС. (будет здорово, если кто-нибудь подскажет как именно).
Были перепробованы некоторые фреймворки, которые могут кликать (в т.ч. pyautogui, robot framework и что-то еще), но ни один из вариантов не сработал. Проскользнула мысль соорудить устройство, которое будет нажимать кнопку (кто-то даже так делал). Похоже, что нужен клик максимально хардварный. В итоге стал смотреть в сторону написания своего драйвера.
На просторах интернета был найден способ решения проблемы: usb-устройство, которое можно запрограммировать на подачу нужного сигнала — Digispark.
Ждать несколько недель с Алиэкспресса не хочется, поэтому поиски продолжились.
Библиотека у меня не завелась на питоне 3.6 — вываливалась ошибка Access violation что-то там. Поэтому пришлось соскочить на питон 2.7, там всё заработало like a charm.
Движение курсора
Библиотека может посылать любые команды, в том числе, куда переместить мышь. Но выглядит это как телепортация курсора. Нужно сделать движение курсора плавным, чтобы нас не забанили.
По сути задача сводится к тому, чтобы перемещать курсор из точки A в точку B с помощью обертки AutoHotPy. Неужели придется вспоминать математику?
Немного поразмыслив, всё-таки решил погуглить. Оказалось, что ничего придумывать не надо — задачу решает алгоритм Брезенхэма, один из старейших алгоритмов в компьютерной графике:
Прямо с Википедии можно взять и реализацию
Логика работы
Все инструменты есть, осталось самое простое — написать сценарий.
Из более-менее интересного опишу, как я получал статус здоровья жертвы. В общих чертах: находим по паттерну с помощью OpenCV элемент управления, показывающий статус здоровья цели, берём полоску высотой в один пиксель и считаем в процентах, сколько закрашено красным.
Теперь бот понимает, сколько HP у жертвы и жива ли она еще.
Основная логика готова, вот как теперь он выглядит в действии:
Для занятых я ускорил на 1.30
Остановка работы
Вся работа с курсором и клавиатурой ведется через объект autohotpy, работу которого в любой момент можно остановить нажатием кнопки ESC.
Проблема в том, что всё время бот занят выполнением цикла, отвечающим за логику действий персонажа и обработчики событий объекта и autohotpy не начинают слушать события, пока цикл не закончится. Работу программы не остановить и с помощью мыши, т.к. бот управляет ей и уводит курсор куда ему нужно.
Нам это не подходит, поэтому пришлось разделить бота на 2 потока: слушание событий и выполнение логики действий персонажа.
и теперь вешаем обработчик на ESC:
при нажатии ESC устанавливаем событие
и в цикле логики персонажа проверяем, установлено ли событие:
Теперь спокойно останавливаем бота по кнопке ESC.
Заключение
Казалось бы, зачем тратить время на продукт, который не приносит никакой практической пользы?
На самом деле компьютерная игра с точки зрения компьютерного зрения — почти то же самое, что и снятая на камеру реальность, а там возможности для применения огромны. Отличный пример описан в статье про подводных роботов, которые лазером стреляют по лососям. Также статья может помочь разработчикам игр в борьбе с ботоводами.
Ну а я ознакомился с Python, прикоснулся к компьютерному зрению, написал свой первый слабоумный искусственный интеллект и получил массу удовольствия.
Надеюсь, было интересно и вам.
Говнокодим кликербота на JS на примере Пикабу. 1: click() и querySelector()
Давно думаю попробовать написать несколько материалов, как легко в браузере писать ботов и не только. Не кармы ради, а плюсиков для. Шутка с долей шутки.
Данный материал не является пособием по программированию. И данный код ни в коем случае не считать эталонным! Использовать его надо с умом в любых интересах в познавательных целях, не во зло.
Если материал окажется интересным, то продолжу.
В материале могут встречаться разного рода ошибки и опечатки, ибо это пишется с ходу, а исправить их Пикабу не позволит. Не сердитесь сильно.
Пока писал пост, гадал: «забанит, не забанит, забанит, не забанит ли меня администрация за такой пост?»
А к гуру JS просьба править меня, но не мешать. Знаю, сейчас набежит куча умных и напишут готовые куски года с готовые кликерами, тем самым испортив дальнейший накал страстей в постах. В общем набегут профи из отряда спойлеристов. Но, уважаемые гуру, прежде чем писать, вспомните про одного такого на премьере Звездных войн 😀
Глава 0. Немного обо всём этом
Немного вводной, так скажем основы основ. Особенности описанного далее материала в том, что ботов (он же UserScript, гуглится легко что это такое) можно писать прямо в любимом браузере для любимого браузера. Преимуществ в этом много, начиная с удобства разработки и заканчивая наименьшей заметностью бота при меньших усилиях. В своё время я для одной игры написал бота. Разработчики хвалились, что они отслеживают ботов и банят. Но забанить меня в течение пары месяцев у них не получилось. Только когда я потерял интерес (как раз где-то через месяц) я оставил специально «дыру» и только тогда они начали подозревать неладное, но аргументов на забанивание всё равно не нашли. Но боты выступают не только в виде читерства, но и например для разгадки простых капч. В другой игре постоянно, по поводу и без надо было вводить капчу, простую. Тогда я написал разгадывателя капчи с 99.5% (примерно) попаданием. Но зря, через некоторое время капча была убрана разработчиками.
Также, для удобства работы рекомендую пока что ознакомиться, а в будущем обязательно поставить Greasemonkey или Tampermonkey. Есть ещё Scriptish, но он мне не понравился. А также можно использовать UserScripts «как есть» в Хроме, но это чуть менее удобно.
Тут и далее материал будет писаться на основе браузера Firefox, ибо там есть очень хороший плагин для разработчиков FireBug и я к нему привык. Но в других браузерах есть всё тоже самое, свои инструменты для разработчика, просто чуть по другому выглядит и называется. Чтобы продолжить их надо открыть, для этого надо нажать F12. Если у вас не открываются они, например в Сафари, то ищем в гугле «название_вашего_браузеран открыть инструменты разработчика».
Далее под Хромом будут подразумеваться все браузеры основанные на хромоподобном движке webkit/blink, это Опера, Яндекс и другие.
Все названия элементов меню и прочего я буду писать примерные, обобщенные, а вы уже ищите что-то похожее.
Скрины, если и будут, то могут быть из разных браузеров, там где это нагляднее показывается.
Данный материал не рассказывает о кроссбраузерности. В материале используются только современные достижения для современных браузеров.
Глава 1. Функция click() и querySelector
В данной главе мы научимся пользоваться консолью, научимся искать и изменять элементы, ну и кликать.
Начнем с авторизации на Пикабу. Все свои эксперименты с авторизацией я провожу в Инкогнито режиме на тестовом аккаунте, но это не принципиально.
И так мы открыли Инструменты разработчика и там находим Консоль. В ней мы будем тестировать наш JS код.
Авторизация происходит следующим образом: вводится «логин» и «пароль» и нажимается кнопка «войти». Первым делом нам надо ввести данные. Но надо знать куда ввести, в какой элемент на странице, то есть найти элементы под названием input. Конечно же не любые, а именно для логина и пароля. Кто пользуется Firebug или Хром необходимо будет поставить курсор на этот input, нажать правую мышь и выбрать пункт «инспектировать элемент». В консоли откроется наш элемент. Если у вас нет подобного пункта, то в консоли должна быть кнопочка придется искать его по всему документу самим.
(на картинке ниже слева Хром, правее Firebug)
После того как выбрали его, необходимо найти пункт типа «скопировать селектор» или CSS. Вроде любой браузер должен копировать самый короткий селектор. Кроме Firebug, он копирует самый длинный, полный селектор.
Для input’а логина у меня получился вот такой «#username«, то есть выбор по ID. Для пароля получилось аналогично «#password«. Ну и чтобы потом не возвращаться, скопируем кнопку «button.b-button:nth-child(2)«, тут уже нет ID, поэтому селектор получается сложнее.
Более подробно с этим можно ознакомиться по ссылке выше или в учебнике по CSS, это основы CSS.
Получается вот такие строки:
Выполняя каждую строку отдельно, в консоли мы увидим наши элементы.
Чтобы вбить данные в форму нам надо заполнить атрибут value ( http://htmlbook.ru/html/input/value ). Достучаться до него очень просто: document.querySelector(‘#username’).value;
Так просто не с каждым атрибутом, но сейчас не об этом.
Если мы попробуем выполнить данную строку в консоли, то мы получим то, что там вбито. По умолчанию у нас сейчас пустая строка. Чтобы заполнить, нам надо просто присвоить этому атрибуту значение: document.querySelector(‘#username’).value = «Гость»;
Обязательно брать строки в кавычки всегда!
Тоже самое нам надо повторить с паролем: document.querySelector(‘#password’).value = «Пароль»;
Выполняем эти строки в консоли и увидим, что форма заполнилась. Теперь нам надо её просто отправить, нажав соответствующую кнопку. В этом нам поможет функция click().
Выполняем эту строчку и у нас произойдёт отправка. Если выполнить все три строчки разом, то произойдёт сразу, в порядке переданных строк, заполнение и вход.
На этом авторизация (вход) готов, всего три строчки кода. В следующей статье на примере кликера будет цикл, чтобы заинтересовать и уже видеть результат.
«Бонусом»: тоже самое можно сделать с выставлением плюса или минуса комментарию. Выбираем наш элемент и кликаем:
document.querySelector(‘#comment_ТУТЦИФРЫТЕКУЩЕГОКОММЕНТА > div:nth-child(1) > div:nth-child(1) > ul:nth-child(2) > li:nth-child(1) > i:nth-child(1)’).click();
В планах примерно такой порядок материал:
2. Цикл (какой-то один или два, а не все).
3. Условия (if/else) и Интервалы (setTimeout/setInterval)
4. Массив, хранилища (наверное только localStorage) и прочее что понадобится. например JSON.
Планы неточные, могут меняться, в частности по пожеланиям в комментариях.
Web-технологии
233 поста 4.6K подписчик
Правила сообщества
1. Не оскорблять других пользователей
2. Не пытаться продвигать свои услуги под видом тематических постов
3. Не заниматься рекламой
4. Никакой табличной верстки
5. Тег сообщества(не обязателен) pikaweb
А можешь написать скрипт который отправляет на skyscanner.ru GET-запрос, получает страничку и выдирает стоимость. При цене ниже определенной сообщает пользователю.
Если удастся найти дешевые билеты согласен заплатить половину сэкономленной суммы.
Настойчивость она для кого надо настойчивость
Закон есть закон
Ответ на пост «Важно слышать своих детей»
Что называется, подержите моё пиво.
На ор прибегает бабушка, отвешивает мне смачного леща, а плачущего брата отводит на кухню и даёт ему шоколадку. За попытку оправдаться я получил ещё одного леща.
Так и есть
Хочу закалить в себе мужской характер
Френдзона как причина
Интересная фича
Как PSIHolog84 решил Пикабушников налюбить, но попал в просак
Сразу же миф о том, что тачка исключительно для души улетучился, в инсте он сам написал, что это товар/услуга
Ой, а кто это тут сидит на капоте с металлическими кольцами на своей портупее?
Теперь квест из «найди, где ТС солгал» переходит в «найди, где ТС не спиздел», потому, что ложь буквально в каждом слове, так как увидел в той же инсте видос, где человек хуярит щёткой его ласточку, которая вся завалена снегом (явно не паркинг, да?). На эти претензии ТС мне написал, что готов спорить хоть на 100к рублей о том, что машина всё же стоит в паркинге, затем, когда ему скинули доказательства и он сам спалился в разговоре с другим пользователем, что тачка стоит на улице, он сказал, что «Стоит в паркинге» это про то, что она именно сегодня стоит в паркинге и потом меня заблокировал )) Рекомендую почитать всю ветку #comment_220919738
Соотвественно ложь о том, что ремонт после НТВшников дорогой, нужно красить всю машину, покрывать керамикой и т.д., в прошлый раз накидали шпатли и замазали (смотрим предыдущий пост) и вот ещё добавочка https://www.instagram.com/p/BqorMPgnK8S/
Вишенкой на торте является то, что ТС даже врать не может одинаково. Мне он ответил, что нет фото, потому, что он «чистил телефон» перед поездкой заграницу и удалил их (ну это было рассчитано совсем на тупых, так как он же сам тут выкладывал более старые фото. Кто будет удалять свежие фото и оставлять старые?), другому человеку написал, что просто их не делал #comment_220954236
Резюмируем, если бы ТС написал всё, как есть, я бы ему посочувствовал даже. Но привкус наебалова мешает это сделать, а наебалово я ой как не люблю.
UPD про спор на 100к рублей
Где деньги, Лебовский?
Теперь она селебрити
Достигла совершенства
Когда нашел баг, а код и с ним работает
Попалась, су*ка!
Но, логичный вопрос интервьюера:
— Значит, ты девственница?, почему-то ввергает её в ступор)
Срочные добрые новости
Все мы немного приемные
Про фильму
Музыкальное сопровождение
В «Жилищник» Северного Бутово берут только киргизов и узбеков
Readovka наткнулась на необычный пост в паблике «Объявления для московских мусульман». Некий Магомед Хамхоев предлагал «братьям» работу дворником. Журналисты решили прозвонить по указанным контактам и попробовать «устроиться». Несколько человек получили отказ, как только выяснилось, что они не мусульмане.
Издание выяснило, что собеседник, проводивший интервьюирование, является замначальником одного из участков ГБУ «Жилищника». Сам чиновник в диалоге говорил, что в его ведении находятся аж четыре участка в Северном Бутово. Свой отказ принимать на работу кого-то кроме киргизов и узбеков мужчина мотивировал тем, что весь штат состоит из мигрантов. Они могут поссориться, поэтому русским путь в дворники закрыт
«Следите за речью, комментаторы», — написал Беслан Цечоев в посте у Олега Кашина в Facebook, посвященном расследованию
Цечоев в 2015 – 2019 годах был мэром Магаса, столицы Ингушетии, а до этого занимал пост помощника-советника главы Республики Ингушетии.
«Зато физкультуры нет»: физрука из Ростова пытаются признать педофилом
Учителю Вадиму Шерстенникову 49 лет, и последние три года жизни он провел в судах. С 2018 года педагога ростовской школы № 30 обвиняют в педофилии по заявлению матери первоклашки. Мужчина даже провел полгода в колонии, пока апелляционный суд не постановил отпустить Шерстенникова и заново рассмотреть дело, приняв во внимание показания других учителей и учеников о невиновности физрука. Но теперь все снова идет к обвинительному приговору.
История одного учителя
Шерстенников пришел работать в школу № 30 из другого образовательного учреждения, где много лет был тренером по баскетболу. Общий стаж его работы — 25 лет, но в 30-ке учитель оказался лишь в 2018 году. В новой школе, кроме физкультуры в старших классах, Шерстенников вел гимнастику у первоклашек.
По словам коллег, педагог мог заинтересовать детей. Первоклашки особенно тянулись к игровым формам занятий, среди которых была и гимнастика.
— Вадим вел уроки интересно, ребята с удовольствием ходили на занятия. Никто из учителей, родителей, а тем более детей, кто знал педагога, не верит в то, что творится сейчас с ним, — рассказывает его бывшая коллега. — Его оболгали, а он, будучи честным человеком, даже не представлял себе, что такое может происходить у нас.
В роковой день физрук учил малышей делать «мостик» на козле — семилетняя Оля (все имена детей изменены — Прим. ред.) лежа выгибала спину, пытаясь достать руками мячик. Учитель страховал детей по инструкции: правой рукой поддерживал колено, левой — спину. Все упражнения провели в группе из 30 детей.
Через месяц после того урока Шерстенникова вызвали в Следственный комитет. Физруку сказали, что подозревают в педофилии: якобы учитель лез в трусы к девочке-первоклашке. Почти сразу мужчину отстранили от преподавания, хотя и оставили на свободе. При этом, никто из опрошенных 115 детей из пяти классов этого не видел. Все свидетельствовали, что «урок нравился, а учитель хороший».
Следствие трижды прекращало уголовное преследование за отсутствием состава преступления. А прокурор возвращал дело на дорасследование.
Четвертый следователь прямо сказал мне: «Ничем помочь не могу, хотя вижу, что ничего нет. Прокурор требует обвинительного заключения»,
Как пояснил 161.RU источник в силовых структурах, статья 132 УК РФ — тяжкая. Поэтому то, что учителя лишь отстранили от работы, но не задержали, может говорить о том, что у СК не было реальных доказательств для ареста. В большинстве случаев по такой статье на время следствия человека садят в СИЗО.
У нас в стране принято верить детям. Если ребенок говорит, то значит, правда, — отметил силовик. — В большинстве случаев, дети — наговаривают, не понимая последствий. После такого приговора, проводилась внутренняя проверка, как велось следствие и почему ряд показаний не были указаны в деле. Скорее всего, именно по результатам проверки Шерстенников позже выиграл апелляцию.
После встречи со следователями Шерстенникова вызвали и сказали, что в прокуратуру поступило заявление от мамы одной из девочек. Согласно показаниям матери, первоклашка рассказала ей, что во время гимнастики физрук правой рукой залез под леггинсы, трусики. Этих слов матери хватило, чтобы завели уголовное дело.
Родительница написала, что ребенок пришел из школы и [сказал, что] не хочет ходить на физкультуру. Якобы на уроке физкультуры учитель трогал причинные места, — вспоминает коллега Шерстенникова. — В зале есть камеры, но, к сожалению, именно в тот день их не успели подключить по техническим причинам.
Сначала следователь отказал в возбуждении уголовного дела, но мама ребенка оказалась непростой. Она — бывший сотрудник органов на пенсии.
Спустя месяц после первая заявления еще одна девочка — Света — из того же класса заявила, что тоже кое-что вспомнила. Вторая первоклашка сказала, что Шерстенников приставал и к ней. По словам адвокатов, мамы детей дружат много лет — переехали в Ростов с Дальнего Востока.
Поддержка довела до тюрьмы
По словам самого учителя, на последнее перед приговором заседание пришел «какой-то полковник в погонах», подошел к судье и сказал: «Это ужас. Ему нужно 15 лет дать». Шерстенников спросил за что. Тот ответил: «За моральный ущерб ребенку».
Шерстенникову дали 13 лет лишения свободы и отправили в ИК-2 на Каменку, а через месяц перевели в новочеркасскую ИК-14. Ни коллеги, ни сам Шерстенников до последнего не верили, что дело закончится колонией.
Понимаете, он до такой степени человек советской закалки, который никогда никуда не попадался и верил в учителей, в правосудие, в суд.
Поэтому в первый раз в суде никого и не допрашивали. Вадим подумал, что суд разберется и понятно, что никто его не осудит. Теперь у него, конечно, такого мнения нет. Он в шоке, — вспоминает один из адвокатов Шерстенникова.
Коллеги, родственники и даже школьники создали петицию с требованием отменить приговор и заявили, что педагога оболгали. Все опрошенные дети говорили в присутствии психологов и родителей — только после этого подписали петицию. Коллективное обращение было отправлено в суд. Его подписали все родители класса, кроме двух мам-заявительниц.
При первом рассмотрении судья решил, что «пострадавших» девочек опрашивать не будут. Следственного эксперимента с участием детей для установления фактических обстоятельств также не было. А самое главное в том, что фактические обстоятельства — условия — не вписываются в предъявленные обвинения, — рассказал Шерстенников.
По словам физрука, свидетелей в деле нет, хотя рядом было около 30 детей, которые следили за выполнением упражнений, сидя на скамейках. Суд решил не опрашивать и не уточнять, как именно учитель страховал девочек. Шерстенников для наглядности снял видео, в котором показал свои действия и содержани упражнений.
Как рассказал нам коллега Шерстенникова, малый зал, в котором проходили занятия с малышами — это просто кабинет, в котором просто нет парт и другой мебели.
При выполнении упражнения одна рука страхует спину ребенка, вторая держит колени, чтобы они не поднимались, иначе ребенок просто упадет назад. Нет же у него третьей руки, которая бы в это время лезла в трусы? — пояснил спортивный тренер.
Чьи показания оказались нужнее?
Позиция обвинения в суде первой инстанции была проста: дети лгать не будут. Обвинение привело в качестве доказательств слова девочек без анализа на предмет противоречий.
Так, в показаниях второй девочки фактически пересказана та же история, что и ее подруги. Школьница лишь добавила, что остальные дети просто ничего не видели. При этом в протоколе допроса этой же пострадавшей говорится, что «все дети видели доступно упражнения». В самом приговоре снова: «никто ничего не видел».
По словам адвоката Михаила Ревякина, дело Шерстенникова полностью сфабрикованное — построенное на словах одной из мам девочек. Заседания по делу закрытые, аудиозапись не ведется.
Противоречия при вынесении приговора увидел не только Шерстенников и его защита.
В апелляционном определении судебной коллегии по уголовным делам указано: «[Районный] суд в приговоре не привел показания несовершеннолетних свидетелей — шестерых детей — о том, что им ничего неизвестно о том, что Шерстенников совершал в отношении потерпевших действия сексуального характера, данных событий они не видели, потерпевшие им об этом не рассказывали. Эти показания могли повлиять на выводы, при этом суд не дал им оценку».
В основу обвинительного приговора суд положил показания несовершеннолетних потерпевших девочек и их мам. При этом не учтено, что несовершеннолетние потерпевшие в ходе расследования неоднократно меняли свои показания, поясняли, что Шерстенников на уроке физкультуры засовывал им руку в трусы, в ходе дополнительных допросов поясняли, что контакт был через одежду, к коже половых органов он никогда не прикасался, однако какой-либо оценки данные обстоятельства в приговоре не получили, — рассказал адвокат Ревякин.
Когда в мае 2020-го Ростовский областной суд отменил приговор и отправил дело на новое рассмотрение, Вадима Шерстенникова освободили в зале суда.
Апелляция была выиграна именно благодаря двум его адвокатам, которые, практически перелопатили около десяти томов по 400 листов дела.
Мама Оли в показаниях говорит о том, что «это началось с первого урока физкультуры в сентябре 2018 года и происходило каждый урок во время гимнастических упражнений на козле». Но эти упражнения ученики стали выполнять только в октябре. Согласно журналу занятий, до отстранения Шерстенников провел 21 занятие. Защита спрашивает, возможно ли такое, что, находясь в нескольких метрах от происходящего, почти 30 учеников, не увидели, как учитель на 21 уроке кряду залезал в трусы к девочкам.
В выводах заключения судебной психолого-психиатрической экспертизы указано, что у Вадима Шерстенникова нет никакой склонности к педофилии. Кроме того, согласно уголовно-процессуального закона в основы приговору могут быть положены только те доказательства, которые исследовались в судебном заседании. Именно поэтому, мы ходатайствовали о допросе в качестве свидетелей — двух одноклассников потерпевших, которые были на всех уроках, с участием их законных представителей, педагога и психолога. Но суд не дал на это разрешение, — рассказал адвокат Ревякин.
Во время суда мне судья делал замечание, когда я отвечал на вопрос стороны обвинения, и грозил удалением из зала суда в случае еще одного замечания. В течении последнего заседания суда судья сделал мне около 20 замечаний без всяких на то оснований, — сетует Шерстенников.
В результате меня осудили, так и не доказав вины, на 13 лет. Я пять месяцев провел в СИЗО в полной антисанитарии, с зэками, которые меня унижали в быту — заставляли перестирывать их вещи несколько раз, мыть за ними, убирать.
25 декабря 2019-го Ворошиловским районным судом в отношении Вадима Шерстенникова был вынесен обвинительный приговор. Его приговорили к 13 годам лишения свободы в колонии строгого режима по части 4 статьи 132 УК РФ «Насильственные действия сексуального характера» и в зале суд взяли под стажу. 27 мая 2020-го областной суд при апелляционном рассмотрении отменил приговор суда и отправил дело на новое рассмотрение. Шерстенников до сих порт под подпиской о невыезде.
После апелляции — оправдали и снова обвиняют
После апелляции дело вернулось в Ворошиловский райсуд Ростова. По словам адвокатов и самого Шерстенникова, все снова идет по старой схеме: заседания закрыты, свидетелей защиты отказываются слушать. Девочкам, которые заявили на учителя, уже по 10 лет. Обе уже перевелись в другие школы.
Все идет только со слов двух мам, плюс еще психологи, которых привлекло следствие для того, чтобы дети допрашивались в их присутствии. При этом есть мальчики, которые и спустя три года все четко помнят и готовы говорить, но их не привлекают как свидетелей.
Во время суда психологи, привлеченные следствием из социального центра и те, которых привлекла сторона защиты после психологической экспертизы не сошлись во мнениях. Первые сделали вывод, что «девочки говорят правду». Вторые утверждают обратное.
Как могут социальные психологи делать какой-то вывод? Там должна быть комиссия, заключение экспертно-психиатрическое для того, чтобы выявить говорят ли правду дети. А у них какой-то психолог из социального центра поприсутствовал при допросе, а теперь его допрашивают, как свидетеля. Он говорит: «Девочки говорили правду три года назад». Понимаете, как все там происходит? — рассказал адвокат Шерстенникова.
На опросе вне судебного заседания два мальчика, которых так и не сделали свидетелями, рассказали, что Оля якобы призналась одноклассникам, что выдумала историю о домогательствах.
То есть, мальчики это помнят, они готовы это рассказать, но им не дают. Когда учителя уволили, они же не сразу узнали, из-за каких девочек. Потом подошли к этой Оле и спросили: «Ты зачем такое наговорила про учителя?»
Она в ответ: «Ну и что? Захотела и наговорила. Зато теперь физкультуры нет».
адвокат Михаил Ревякин
Адвокаты Шерстенникова уверены, если бы другим родителям разрешили дать показания в суде, то дело сразу бы приняло другой оборот.
По словам адвоката, сейчас в деле нет ссылки на заключение судебной психолого-психиатрической комиссии экспертов, где есть подробнейшая характеристика первой девочки. Исследование провели по заказу стороны защиты, документы не приобщены к делу.
Согласно заключению, копия которого есть у редакции, Оля характеризуется импульсивным поведением, по незначительным поводам у нее могут возникать бурные эмоциональные реакции, «аффективно реагирует на замечания, наказания, строгое обращение», может быть лидером.
Что касается Светы, которая стала наговаривать на учителя через месяц после первой [девочки], согласно выводам психолого-психиатрической комиссии, выявлена склонность к повышенной внушаемости, — добавил адвокат Ревякин.
Из показаний свидетельства Оли в разное время: «Я делала мостик стояла на руках, а Вадим Николаевич меня трогал», «Ну я делала мостик на козлике, а учитель засунул руку туда». На вопрос о том, где находились дети, когда учитель приставал, Оля отвечает «отжимались». Уточняющий вопрос: «Все время отжимались? Ответ: «Угу».Спустя год Оля заявила, забыв, что говорила ранее, что дети сидели на лавочке и смотрели на гимнакстическое упражнение на козле.
Адвокат говорит, что хочет придать огласке мнение о противоправных действиях следствия, прокуратуры и районного суда — тщательно проверить действия на всех уровнях обвинения.
Видя все проведенные защитой экспертизы и доказательства в виде показаний детей, должно быть понимание, что этого не могло произойти, что это все наговоры на учителя. Но, к сожалению, они не отказываются от этого чудовищного обвинения. И причиной этому является безальтернативная вера своему ребенку, не смотря на факты, вера в то, что ребенок не может обманывать. Однако, все мы понимаем, что дети врут не реже, а порой и чаще взрослых, — заявил Ревякин.
Защита Вадима Шерстенникова в течение трех лет бьется за честное имя педагога ростовской школы. Обращения в генеральную прокуратуру РФ ни к чему не привели — документ спустили на местный уровень. Накануне адвокаты направили письмо в телепередачу «Человек и закон», чтобы на беду одного учителя физкультуры обратили внимание. Вадим Шерстенников написал петицию, в которой просит неравнодушных людей принять участие в его нелегком деле и помочь разобраться. Кроме того, учитель физкультуры написал обращение на имя Владимира Путина, в котором рассказал о том, что творится в ростовском правосудии и попросил вмешательства в его судьбу.
Три года Вадим Шерстенников лишен права работать и зарабатывать деньги.
Оплачивать адвокатов и многочисленные экспертизы уже нет средств, так как Шерстенников весь в долгах.
Дело в отношении меня было сфабриковано под давлением экс-прокурора Ростовской области Юрия Баранова (Летом 2020 года прокурор подал в отставку на фоне проверки из Москвы.
Поводом для проверок стали сразу несколько скандалов с участием прокурора, — Прим. ред.), — говорит Вадим Шерстенников.
Я лично ходил к нему на прием и мне было сказано, что ничем не смогут помочь, потому что надо сесть. Прошу ваших молитв, чтобы был нейтрализован, обращен вспять и уничтожен обвинительный уклон и свершилось правосудие в моем деле.
Чтобы неукоснительно соблюдались принципы презумпции невиновности и состязательности сторон, зафиксированных в Уголовно-процессуальном кодексе России.