Пишу реальную программу. Рассылка сообщений по WhatsApp при помощи Python.

  Переглядів 12,847

Клуб дедов-программистов

Клуб дедов-программистов

День тому

Забрать бесплатные ресурсы и 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

КОМЕНТАРІ: 108
@OLAFBONDD
@OLAFBONDD 10 днів тому
Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!
@oldcoders
@oldcoders 9 днів тому
🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :))) Видео редко потому что чудовищно много времени уходит на один ролик. Текст, сьемка, монтаж. Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это. Напишите вообще что хотели бы видеть на канале, буду думать.
@misterjunior3751
@misterjunior3751 4 дні тому
@@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?
@johnsnow7288
@johnsnow7288 9 днів тому
Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь
@marshal33311
@marshal33311 10 днів тому
Как всегда все четко и понятно, спасибо!
@Kira0168
@Kira0168 10 днів тому
Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!
@oldcoders
@oldcoders 10 днів тому
Спасибо ☺️ И вам всего хорошего!
@LackyBird
@LackyBird 9 днів тому
Спасибо! Как всегда просто и понятно!
@TheAnthonyDav
@TheAnthonyDav 10 днів тому
Спасибо. Как всегда очень полезное видео
@issta4391
@issta4391 10 днів тому
спасибо, чел, за качественный контент и его подачу. хотелось видеть тебя коучем по таким проектам и другим. творческих успехов тебе
@andredru4278
@andredru4278 10 днів тому
Спасибо. Посмотрел с удовольствием.
@Podacha66
@Podacha66 7 днів тому
Спасибо, очень интересное и полезное видео.
@user-st4ih8cu6l
@user-st4ih8cu6l 10 днів тому
Благодарю вас!
@viksir4278
@viksir4278 6 днів тому
Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.
@bednyakov
@bednyakov 6 днів тому
Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.
@user-rp7sg6eo4b
@user-rp7sg6eo4b 10 днів тому
Ну дед, ну даёт ! Лайк конечно же !
@user-xg3en3nh1g
@user-xg3en3nh1g 7 днів тому
Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.
@user-mt7mh2iy7y
@user-mt7mh2iy7y 10 днів тому
Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!
@ViktorBokov
@ViktorBokov День тому
Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)
@name1355_0ne
@name1355_0ne 9 днів тому
Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.
@gurban123
@gurban123 9 днів тому
Красавчик!!!!!!!!!!!!!!!!!!!!!!
@AlexRootx
@AlexRootx 9 днів тому
чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания
@user-kz5bg5pw4l
@user-kz5bg5pw4l 10 днів тому
Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))
@oldcoders
@oldcoders 10 днів тому
Есть такое! Я по молодежному, без знаков препинания 😉
@user-dr1mw9bh5s
@user-dr1mw9bh5s 10 днів тому
4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?
@oldcoders
@oldcoders 9 днів тому
да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)
@user-iz3ew9ey3d
@user-iz3ew9ey3d 8 днів тому
Дед, как всегда, молодец! Спасибо огромное за вашу работу!
@45kg35
@45kg35 4 дні тому
Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо
@Socador_bas
@Socador_bas 3 дні тому
Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)
@oldcoders
@oldcoders 3 дні тому
😆😆😆
@user-wu3vu8kx9g
@user-wu3vu8kx9g 10 днів тому
В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.
@oldcoders
@oldcoders 9 днів тому
Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.
@johnsnow7288
@johnsnow7288 10 днів тому
Только собирался начать ругаться, что долго нет новых видео
@oldcoders
@oldcoders 10 днів тому
😆
@Paradise_Box
@Paradise_Box 10 днів тому
Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно. А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова. Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.
@oldcoders
@oldcoders 10 днів тому
Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.
@Paradise_Box
@Paradise_Box 10 днів тому
@@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.
@igorratnik2357
@igorratnik2357 7 днів тому
Вот для таких вещей и есть упомянутый Selenium
@Paradise_Box
@Paradise_Box 7 днів тому
@@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.
@sky_5743
@sky_5743 7 днів тому
Vielen Dank.❤
@Pravilnyi_Massage
@Pravilnyi_Massage 3 дні тому
Спасибо.
@AlexSav
@AlexSav 10 днів тому
После "Здравствуйте" нужно поставить запятую
@oldcoders
@oldcoders 10 днів тому
Точно!
@baloobear70
@baloobear70 10 днів тому
Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.
@oldcoders
@oldcoders 9 днів тому
Как говорит молодежь - Флексю! (а может так и не говорит уже)
@Gungrave879
@Gungrave879 6 днів тому
Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо
@oldcoders
@oldcoders 6 днів тому
Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.
@Gungrave879
@Gungrave879 6 днів тому
@@oldcoders спасибо Вам огромное.
@MrAlvel
@MrAlvel 5 днів тому
Фух, я думмал я один такие кривые костыли постоянно пилю... )) Спасибо ))
@oldcoders
@oldcoders 4 дні тому
Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀
@OLAFBONDD
@OLAFBONDD 10 днів тому
Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...
@MIRVECTORA
@MIRVECTORA 9 днів тому
Папу?😂😅 да ещё и сотен?😊
@oldcoders
@oldcoders 9 днів тому
Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?
@OLAFBONDD
@OLAFBONDD 9 днів тому
@@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".
@xoxot_shamana
@xoxot_shamana 7 днів тому
Почему в слепую enter? Нельзя найти кнопку на странице и нажать её? Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?
@oldcoders
@oldcoders 7 днів тому
Я иду максимально простым путем. Все что вы предлагаете - усложняет разработку и все равно это будет костыль.
@xoxot_shamana
@xoxot_shamana 7 днів тому
@@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.
@yohohowowowo9471
@yohohowowowo9471 7 днів тому
Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.
@oldcoders
@oldcoders 7 днів тому
Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам. В разных сферах по разному, в нашей емайл вообще не используется.
@Sborkin1
@Sborkin1 9 днів тому
Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!
@oldcoders
@oldcoders 9 днів тому
Лучше не делать, ватсап вас однозначно забанит.
@Syberby
@Syberby 7 днів тому
окей, на. компе открывается браузер, а как это организоваьб на сервере?
@oldcoders
@oldcoders 7 днів тому
Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.
@geniygames4620
@geniygames4620 6 днів тому
А будет видео как это сделать с помощью телеграмм?
@oldcoders
@oldcoders 6 днів тому
Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».
@MrKim-pt2vm
@MrKim-pt2vm 7 днів тому
А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?
@oldcoders
@oldcoders 7 днів тому
Неееее! В том то и дело что нельзя.
@MrKim-pt2vm
@MrKim-pt2vm 6 днів тому
@@oldcoders плохо.
@DmitriyKargin
@DmitriyKargin 9 днів тому
А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь
@oldcoders
@oldcoders 9 днів тому
На 100 тысяч ватсап не даст разослать, забанит. И асинхронно думаю тоже не получится, тот же ватсап так же не даст. С одного номера сразу несколько запросов одновременно ? Вряд ли прокатит.
@user-xy9fl7vt9n
@user-xy9fl7vt9n 5 днів тому
Почему не использовали библиотеку pywhatkit?
@oldcoders
@oldcoders 5 днів тому
Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.
@forpc1393
@forpc1393 9 днів тому
а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию
@oldcoders
@oldcoders 9 днів тому
Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.
@zemlyanintv7774
@zemlyanintv7774 10 днів тому
слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.
@DreamingDolphing
@DreamingDolphing 2 дні тому
А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.
@oldcoders
@oldcoders 2 дні тому
Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.
@evgenykampiler3307
@evgenykampiler3307 7 днів тому
прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт
@user-yv9oh8ix1o
@user-yv9oh8ix1o 7 днів тому
А почему список, а не словарь?
@oldcoders
@oldcoders 7 днів тому
Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.
@user-ws2gf3qj2o
@user-ws2gf3qj2o 10 днів тому
куда проще сделать это в зеннопостере без знаний питона)
@oldcoders
@oldcoders 9 днів тому
Да много чем можно. Но он же платный?
@user-ws2gf3qj2o
@user-ws2gf3qj2o 9 днів тому
@@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.
@Hariec88
@Hariec88 7 днів тому
Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂
@Receive_
@Receive_ 3 дні тому
Ватсап за это санкции на номер не накинет?
@oldcoders
@oldcoders 3 дні тому
Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.
@torstmp
@torstmp 8 днів тому
Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)
@oldcoders
@oldcoders 8 днів тому
Хорошо, исправлю на «необычный дядька»!
@torstmp
@torstmp 8 днів тому
@@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀
@cherevkovv
@cherevkovv 9 днів тому
Спохватился изучать программирование во времена нейросетей. Браво!
@Sborkin1
@Sborkin1 9 днів тому
Так может говорить человек, который точно не программирует сам….
@cherevkovv
@cherevkovv 9 днів тому
@@Sborkin1 это точно ))
@maximturbo45
@maximturbo45 9 днів тому
Я на секунду обрадовался(( Не смотрите эту ахинею,тут ничего интересного нет. Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.
@oldcoders
@oldcoders 9 днів тому
Фига ты какой четкий и резкий! Без браузера ватсап не позволит.
@maximturbo45
@maximturbo45 9 днів тому
@@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо
@user-ke8wc5zj4w
@user-ke8wc5zj4w 10 днів тому
Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?
@Paradise_Box
@Paradise_Box 10 днів тому
Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)
@oldcoders
@oldcoders 10 днів тому
Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.
@user-ke8wc5zj4w
@user-ke8wc5zj4w 10 днів тому
@@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?
@Paradise_Box
@Paradise_Box 10 днів тому
@@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.
@textreanimator
@textreanimator 8 днів тому
А деды это кто? Лет в 80?
@oldcoders
@oldcoders 8 днів тому
Ну это мы так шутим. Для начинающих программировать мы деды конечно
@johnconstantine6331
@johnconstantine6331 7 днів тому
Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)
@forpc1393
@forpc1393 6 днів тому
автор красиво рассказывает @oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.
@oldcoders
@oldcoders 6 днів тому
Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак. Вот здесь я обо всем рассказал - ukposts.info/have/v-deo/pIqDp6mmq51nsmQ.htmlsi=6kjbLHz4R_u3bsPP
Стать программистом в 40+? Мотивирующее видео.
18:12
Клуб дедов-программистов
Переглядів 76 тис.
Пишу простую, но реальную программу. Python + Excel.
18:48
Клуб дедов-программистов
Переглядів 130 тис.
Первая поломка Scirocco! Балацко попал на мотор.
1:13:12
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52
NeoVim, сплит клавиатуры, TDD | Подкаст
1:55:28
apakhomov
Переглядів 3,1 тис.
Микросервисы - Простым Языком на Понятном Примере
19:08
Понять Django. Пишем "Hello world". Объясняю просто и с картинками.
25:49
Клуб дедов-программистов
Переглядів 171 тис.
Пишу реальную программу. Парсинг текстового файла. Python + Pandas + Excel.
23:57
Как в 44 года стать программистом на Python. Объясняю с чего начать.
19:32
Клуб дедов-программистов
Переглядів 981 тис.
All New Atlas | Boston Dynamics
0:40
Boston Dynamics
Переглядів 5 млн
Рекламная уловка Apple 😏
0:59
Яблык
Переглядів 115 тис.
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Переглядів 2,5 млн
Samsung UE40D5520RU перезагружается, замена nand памяти
0:46
Слава 100пудово!
Переглядів 1,8 млн