Пишу реальную программу. Рассылка сообщений по WhatsApp при помощи Python.
Вставка
- Опубліковано 7 тра 2024
- Забрать бесплатные ресурсы и 4000 бонусов от Cloud․ru можно на сайте: sc.link/YZUL5
Автоматизировать отправку сообщений по WhatsApp практически невозможно. Но мы попробуем :)
Используя язык Python, библиотеку PyAutoGui, начальные навыки программирования и серую кепку!
⭐️ Мой подробный "Роадмап деда-программиста. Python бэкенд." со скидкой 20% : stepik.org/a/133721/pay?promo...
(Срок действия ссылки - до 15.05.24)
💾 Финальный код: github.com/break-and-enter/ol...
👨🏻💻 Чат Клуба дедов-программистов в Телеграме: t.me/oldcodersclub
00:00 Intro
02:15 Приступаем
03:01 Отошлем одно сообщение
03:40 Проблемы с кодировкой
06:38 Беремся за PyAutoGUI
08:59 Отправим несколько сообщений
10:52 Отправим сообщения по именам из файла
14:20 Финальная программа
15:03 Outro - Наука та технологія
Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь
Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!
🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :)))
Видео редко потому что чудовищно много времени уходит на один ролик.
Текст, сьемка, монтаж.
Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это.
Напишите вообще что хотели бы видеть на канале, буду думать.
@@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?
Как всегда все четко и понятно, спасибо!
Спасибо! Как всегда просто и понятно!
Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!
Спасибо ☺️ И вам всего хорошего!
Спасибо. Как всегда очень полезное видео
спасибо, чел, за качественный контент и его подачу. хотелось видеть тебя коучем по таким проектам и другим. творческих успехов тебе
Спасибо. Посмотрел с удовольствием.
Благодарю вас!
чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания
Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.
Спасибо, очень интересное и полезное видео.
Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.
Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.
Ну дед, ну даёт ! Лайк конечно же !
Красавчик!!!!!!!!!!!!!!!!!!!!!!
Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.
Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))
Есть такое! Я по молодежному, без знаков препинания 😉
Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!
слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.
Руслан - красавчик! Как всегда просто и понятно, полезно смотреть твои видео, сразу думаю, что бы мне автоматизировать!
4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?
да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)
Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)
😆😆😆
Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо
В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.
Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.
Дед, как всегда, молодец! Спасибо огромное за вашу работу!
Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно.
А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова.
Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.
Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.
@@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.
Вот для таких вещей и есть упомянутый Selenium
@@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.
Только собирался начать ругаться, что долго нет новых видео
😆
После "Здравствуйте" нужно поставить запятую
Точно!
Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.
Как говорит молодежь - Флексю! (а может так и не говорит уже)
Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)
Спасибо.
Vielen Dank.❤
Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо
Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.
@@oldcoders спасибо Вам огромное.
Фух, я думмал я один такие кривые костыли постоянно пилю... ))
Спасибо ))
Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀
А будет видео как это сделать с помощью телеграмм?
Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».
А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?
Неееее! В том то и дело что нельзя.
@@oldcoders плохо.
Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!
Лучше не делать, ватсап вас однозначно забанит.
Почему в слепую enter? Нельзя найти кнопку на странице и нажать её?
Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?
Я иду максимально простым путем. Все что вы предлагаете - усложняет разработку и все равно это будет костыль.
@@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.
Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...
Папу?😂😅 да ещё и сотен?😊
Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?
@@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".
Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.
Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам.
В разных сферах по разному, в нашей емайл вообще не используется.
а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию
Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.
Почему не использовали библиотеку pywhatkit?
Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.
А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.
Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.
окей, на. компе открывается браузер, а как это организоваьб на сервере?
Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.
А почему список, а не словарь?
Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.
А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь
На 100 тысяч ватсап не даст разослать, забанит. И асинхронно думаю тоже не получится, тот же ватсап так же не даст. С одного номера сразу несколько запросов одновременно ? Вряд ли прокатит.
@@oldcoders А если купить несколько телефонных номеров, запустить нашу программку по массовому распространению WhatsApp сообщений на нескольких компьютерах, тогда будет вам интересна или нет? Сообщения будем отправлять на телефонные номера, которые у меня и у получателя сохранены.
Так сработает скорее всего.
прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт
Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂
куда проще сделать это в зеннопостере без знаний питона)
Да много чем можно. Но он же платный?
@@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.
Ватсап за это санкции на номер не накинет?
Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.
@@oldcoders А количество кликов “это спам знаете”, чтобы получить бан в Ватсапе?
автор красиво рассказывает
@oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.
Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак.
Вот здесь я обо всем рассказал - ua-cam.com/video/lZRssotg6Q0/v-deo.htmlsi=6kjbLHz4R_u3bsPP
Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)
Хорошо, исправлю на «необычный дядька»!
@@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀
Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?
Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)
Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.
@@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?
@@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.
Спохватился изучать программирование во времена нейросетей. Браво!
Так может говорить человек, который точно не программирует сам….
@@Sborkin1 это точно ))
А деды это кто? Лет в 80?
Ну это мы так шутим. Для начинающих программировать мы деды конечно
Я на секунду обрадовался((
Не смотрите эту ахинею,тут ничего интересного нет.
Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.
Фига ты какой четкий и резкий! Без браузера ватсап не позволит.
@@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо
Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)
А теперь, если можете, сделайте пожалуйста видео, про то как вы считываете ответ вашего клиента и затем на него реагируете каким-то образом-может быть отправляете в ответ новое сообщение и так далее.
Скольким номерам можно отправлять сообщения до установления бана ватсапом, если их контакты у меня в телефонном справочнике и также мои контакты у них сохранение?