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

Ғылым және технология

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

Пікірлер: 109

  • @OLAFBONDD
    @OLAFBONDD12 күн бұрын

    Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!

  • @oldcoders

    @oldcoders

    11 күн бұрын

    🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :))) Видео редко потому что чудовищно много времени уходит на один ролик. Текст, сьемка, монтаж. Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это. Напишите вообще что хотели бы видеть на канале, буду думать.

  • @misterjunior3751

    @misterjunior3751

    6 күн бұрын

    @@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?

  • @johnsnow7288
    @johnsnow728811 күн бұрын

    Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь

  • @marshal33311
    @marshal3331112 күн бұрын

    Как всегда все четко и понятно, спасибо!

  • @Kira0168
    @Kira016812 күн бұрын

    Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!

  • @oldcoders

    @oldcoders

    12 күн бұрын

    Спасибо ☺️ И вам всего хорошего!

  • @LackyBird
    @LackyBird11 күн бұрын

    Спасибо! Как всегда просто и понятно!

  • @TheAnthonyDav
    @TheAnthonyDav12 күн бұрын

    Спасибо. Как всегда очень полезное видео

  • @issta4391
    @issta439112 күн бұрын

    спасибо, чел, за качественный контент и его подачу. хотелось видеть тебя коучем по таким проектам и другим. творческих успехов тебе

  • @andredru4278
    @andredru427812 күн бұрын

    Спасибо. Посмотрел с удовольствием.

  • @Podacha66
    @Podacha669 күн бұрын

    Спасибо, очень интересное и полезное видео.

  • @Abramov_Andrey
    @Abramov_AndreyКүн бұрын

    Руслан - красавчик! Как всегда просто и понятно, полезно смотреть твои видео, сразу думаю, что бы мне автоматизировать!

  • @user-st4ih8cu6l
    @user-st4ih8cu6l12 күн бұрын

    Благодарю вас!

  • @viksir4278
    @viksir42788 күн бұрын

    Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.

  • @bednyakov
    @bednyakov8 күн бұрын

    Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.

  • @user-rp7sg6eo4b
    @user-rp7sg6eo4b12 күн бұрын

    Ну дед, ну даёт ! Лайк конечно же !

  • @user-mt7mh2iy7y
    @user-mt7mh2iy7y12 күн бұрын

    Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!

  • @ViktorBokov
    @ViktorBokov3 күн бұрын

    Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)

  • @user-xg3en3nh1g
    @user-xg3en3nh1g9 күн бұрын

    Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.

  • @AlexRootx
    @AlexRootx11 күн бұрын

    чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания

  • @gurban123
    @gurban12311 күн бұрын

    Красавчик!!!!!!!!!!!!!!!!!!!!!!

  • @name1355_0ne
    @name1355_0ne11 күн бұрын

    Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.

  • @user-kz5bg5pw4l
    @user-kz5bg5pw4l12 күн бұрын

    Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))

  • @oldcoders

    @oldcoders

    12 күн бұрын

    Есть такое! Я по молодежному, без знаков препинания 😉

  • @45kg35
    @45kg356 күн бұрын

    Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо

  • @user-iz3ew9ey3d
    @user-iz3ew9ey3d10 күн бұрын

    Дед, как всегда, молодец! Спасибо огромное за вашу работу!

  • @user-dr1mw9bh5s
    @user-dr1mw9bh5s12 күн бұрын

    4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?

  • @oldcoders

    @oldcoders

    11 күн бұрын

    да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)

  • @user-wu3vu8kx9g
    @user-wu3vu8kx9g12 күн бұрын

    В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.

  • @Paradise_Box
    @Paradise_Box12 күн бұрын

    Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно. А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова. Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.

  • @oldcoders

    @oldcoders

    12 күн бұрын

    Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.

  • @Paradise_Box

    @Paradise_Box

    12 күн бұрын

    @@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.

  • @igorratnik2357

    @igorratnik2357

    9 күн бұрын

    Вот для таких вещей и есть упомянутый Selenium

  • @Paradise_Box

    @Paradise_Box

    9 күн бұрын

    @@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.

  • @sky_5743
    @sky_57439 күн бұрын

    Vielen Dank.❤

  • @johnsnow7288
    @johnsnow728812 күн бұрын

    Только собирался начать ругаться, что долго нет новых видео

  • @oldcoders

    @oldcoders

    12 күн бұрын

    😆

  • @Socador_bas
    @Socador_bas5 күн бұрын

    Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)

  • @oldcoders

    @oldcoders

    5 күн бұрын

    😆😆😆

  • @Pravilnyi_Massage
    @Pravilnyi_Massage5 күн бұрын

    Спасибо.

  • @AlexSav
    @AlexSav12 күн бұрын

    После "Здравствуйте" нужно поставить запятую

  • @oldcoders

    @oldcoders

    12 күн бұрын

    Точно!

  • @baloobear70
    @baloobear7012 күн бұрын

    Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Как говорит молодежь - Флексю! (а может так и не говорит уже)

  • @Gungrave879
    @Gungrave8798 күн бұрын

    Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо

  • @oldcoders

    @oldcoders

    8 күн бұрын

    Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.

  • @Gungrave879

    @Gungrave879

    8 күн бұрын

    @@oldcoders спасибо Вам огромное.

  • @MrAlvel
    @MrAlvel7 күн бұрын

    Фух, я думмал я один такие кривые костыли постоянно пилю... )) Спасибо ))

  • @oldcoders

    @oldcoders

    6 күн бұрын

    Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀

  • @OLAFBONDD
    @OLAFBONDD12 күн бұрын

    Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...

  • @MIRVECTORA

    @MIRVECTORA

    11 күн бұрын

    Папу?😂😅 да ещё и сотен?😊

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?

  • @OLAFBONDD

    @OLAFBONDD

    11 күн бұрын

    @@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".

  • @xoxot_shamana
    @xoxot_shamana9 күн бұрын

    Почему в слепую enter? Нельзя найти кнопку на странице и нажать её? Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?

  • @oldcoders

    @oldcoders

    9 күн бұрын

    Я иду максимально простым путем. Все что вы предлагаете - усложняет разработку и все равно это будет костыль.

  • @xoxot_shamana

    @xoxot_shamana

    9 күн бұрын

    @@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.

  • @yohohowowowo9471
    @yohohowowowo94719 күн бұрын

    Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.

  • @oldcoders

    @oldcoders

    9 күн бұрын

    Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам. В разных сферах по разному, в нашей емайл вообще не используется.

  • @Sborkin1
    @Sborkin111 күн бұрын

    Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Лучше не делать, ватсап вас однозначно забанит.

  • @geniygames4620
    @geniygames46208 күн бұрын

    А будет видео как это сделать с помощью телеграмм?

  • @oldcoders

    @oldcoders

    8 күн бұрын

    Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».

  • @MrKim-pt2vm
    @MrKim-pt2vm9 күн бұрын

    А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?

  • @oldcoders

    @oldcoders

    9 күн бұрын

    Неееее! В том то и дело что нельзя.

  • @MrKim-pt2vm

    @MrKim-pt2vm

    8 күн бұрын

    @@oldcoders плохо.

  • @Syberby
    @Syberby9 күн бұрын

    окей, на. компе открывается браузер, а как это организоваьб на сервере?

  • @oldcoders

    @oldcoders

    9 күн бұрын

    Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.

  • @DmitriyKargin
    @DmitriyKargin11 күн бұрын

    А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь

  • @oldcoders

    @oldcoders

    11 күн бұрын

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

  • @user-xy9fl7vt9n
    @user-xy9fl7vt9n7 күн бұрын

    Почему не использовали библиотеку pywhatkit?

  • @oldcoders

    @oldcoders

    7 күн бұрын

    Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.

  • @forpc1393
    @forpc139311 күн бұрын

    а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.

  • @DreamingDolphing
    @DreamingDolphing4 күн бұрын

    А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.

  • @oldcoders

    @oldcoders

    4 күн бұрын

    Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.

  • @evgenykampiler3307
    @evgenykampiler33078 күн бұрын

    прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт

  • @zemlyanintv7774
    @zemlyanintv777412 күн бұрын

    слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.

  • @user-yv9oh8ix1o
    @user-yv9oh8ix1o9 күн бұрын

    А почему список, а не словарь?

  • @oldcoders

    @oldcoders

    9 күн бұрын

    Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.

  • @user-ws2gf3qj2o
    @user-ws2gf3qj2o12 күн бұрын

    куда проще сделать это в зеннопостере без знаний питона)

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Да много чем можно. Но он же платный?

  • @user-ws2gf3qj2o

    @user-ws2gf3qj2o

    11 күн бұрын

    @@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.

  • @Hariec88
    @Hariec889 күн бұрын

    Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂

  • @Receive_
    @Receive_5 күн бұрын

    Ватсап за это санкции на номер не накинет?

  • @oldcoders

    @oldcoders

    5 күн бұрын

    Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.

  • @torstmp
    @torstmp10 күн бұрын

    Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)

  • @oldcoders

    @oldcoders

    10 күн бұрын

    Хорошо, исправлю на «необычный дядька»!

  • @torstmp

    @torstmp

    10 күн бұрын

    @@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀

  • @cherevkovv
    @cherevkovv11 күн бұрын

    Спохватился изучать программирование во времена нейросетей. Браво!

  • @Sborkin1

    @Sborkin1

    11 күн бұрын

    Так может говорить человек, который точно не программирует сам….

  • @cherevkovv

    @cherevkovv

    11 күн бұрын

    @@Sborkin1 это точно ))

  • @maximturbo45
    @maximturbo4511 күн бұрын

    Я на секунду обрадовался(( Не смотрите эту ахинею,тут ничего интересного нет. Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.

  • @oldcoders

    @oldcoders

    11 күн бұрын

    Фига ты какой четкий и резкий! Без браузера ватсап не позволит.

  • @maximturbo45

    @maximturbo45

    11 күн бұрын

    @@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо

  • @user-ke8wc5zj4w
    @user-ke8wc5zj4w12 күн бұрын

    Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?

  • @Paradise_Box

    @Paradise_Box

    12 күн бұрын

    Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)

  • @oldcoders

    @oldcoders

    12 күн бұрын

    Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.

  • @user-ke8wc5zj4w

    @user-ke8wc5zj4w

    12 күн бұрын

    @@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?

  • @Paradise_Box

    @Paradise_Box

    12 күн бұрын

    @@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.

  • @textreanimator
    @textreanimator10 күн бұрын

    А деды это кто? Лет в 80?

  • @oldcoders

    @oldcoders

    10 күн бұрын

    Ну это мы так шутим. Для начинающих программировать мы деды конечно

  • @johnconstantine6331
    @johnconstantine63319 күн бұрын

    Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)

  • @forpc1393
    @forpc13938 күн бұрын

    автор красиво рассказывает @oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.

  • @oldcoders

    @oldcoders

    8 күн бұрын

    Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак. Вот здесь я обо всем рассказал - kzread.info/dash/bejne/no6G1dWopMqcgZM.htmlsi=6kjbLHz4R_u3bsPP

Келесі