Пишу реальную программу. Рассылка сообщений по 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
Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!
@oldcoders
11 күн бұрын
🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :))) Видео редко потому что чудовищно много времени уходит на один ролик. Текст, сьемка, монтаж. Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это. Напишите вообще что хотели бы видеть на канале, буду думать.
@misterjunior3751
6 күн бұрын
@@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?
Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь
Как всегда все четко и понятно, спасибо!
Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!
@oldcoders
12 күн бұрын
Спасибо ☺️ И вам всего хорошего!
Спасибо! Как всегда просто и понятно!
Спасибо. Как всегда очень полезное видео
спасибо, чел, за качественный контент и его подачу. хотелось видеть тебя коучем по таким проектам и другим. творческих успехов тебе
Спасибо. Посмотрел с удовольствием.
Спасибо, очень интересное и полезное видео.
Руслан - красавчик! Как всегда просто и понятно, полезно смотреть твои видео, сразу думаю, что бы мне автоматизировать!
Благодарю вас!
Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.
Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.
Ну дед, ну даёт ! Лайк конечно же !
Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!
Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)
Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.
чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания
Красавчик!!!!!!!!!!!!!!!!!!!!!!
Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.
Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))
@oldcoders
12 күн бұрын
Есть такое! Я по молодежному, без знаков препинания 😉
Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо
Дед, как всегда, молодец! Спасибо огромное за вашу работу!
4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?
@oldcoders
11 күн бұрын
да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)
В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.
@oldcoders
11 күн бұрын
Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.
Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно. А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова. Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.
@oldcoders
12 күн бұрын
Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.
@Paradise_Box
12 күн бұрын
@@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.
@igorratnik2357
9 күн бұрын
Вот для таких вещей и есть упомянутый Selenium
@Paradise_Box
9 күн бұрын
@@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.
Vielen Dank.❤
Только собирался начать ругаться, что долго нет новых видео
@oldcoders
12 күн бұрын
😆
Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)
@oldcoders
5 күн бұрын
😆😆😆
Спасибо.
После "Здравствуйте" нужно поставить запятую
@oldcoders
12 күн бұрын
Точно!
Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.
@oldcoders
11 күн бұрын
Как говорит молодежь - Флексю! (а может так и не говорит уже)
Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо
@oldcoders
8 күн бұрын
Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.
@Gungrave879
8 күн бұрын
@@oldcoders спасибо Вам огромное.
Фух, я думмал я один такие кривые костыли постоянно пилю... )) Спасибо ))
@oldcoders
6 күн бұрын
Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀
Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...
@MIRVECTORA
11 күн бұрын
Папу?😂😅 да ещё и сотен?😊
@oldcoders
11 күн бұрын
Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?
@OLAFBONDD
11 күн бұрын
@@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".
Почему в слепую enter? Нельзя найти кнопку на странице и нажать её? Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?
@oldcoders
9 күн бұрын
Я иду максимально простым путем. Все что вы предлагаете - усложняет разработку и все равно это будет костыль.
@xoxot_shamana
9 күн бұрын
@@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.
Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.
@oldcoders
9 күн бұрын
Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам. В разных сферах по разному, в нашей емайл вообще не используется.
Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!
@oldcoders
11 күн бұрын
Лучше не делать, ватсап вас однозначно забанит.
А будет видео как это сделать с помощью телеграмм?
@oldcoders
8 күн бұрын
Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».
А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?
@oldcoders
9 күн бұрын
Неееее! В том то и дело что нельзя.
@MrKim-pt2vm
8 күн бұрын
@@oldcoders плохо.
окей, на. компе открывается браузер, а как это организоваьб на сервере?
@oldcoders
9 күн бұрын
Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.
А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь
@oldcoders
11 күн бұрын
На 100 тысяч ватсап не даст разослать, забанит. И асинхронно думаю тоже не получится, тот же ватсап так же не даст. С одного номера сразу несколько запросов одновременно ? Вряд ли прокатит.
Почему не использовали библиотеку pywhatkit?
@oldcoders
7 күн бұрын
Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.
а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию
@oldcoders
11 күн бұрын
Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.
А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.
@oldcoders
4 күн бұрын
Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.
прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт
слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.
А почему список, а не словарь?
@oldcoders
9 күн бұрын
Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.
куда проще сделать это в зеннопостере без знаний питона)
@oldcoders
11 күн бұрын
Да много чем можно. Но он же платный?
@user-ws2gf3qj2o
11 күн бұрын
@@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.
Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂
Ватсап за это санкции на номер не накинет?
@oldcoders
5 күн бұрын
Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.
Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)
@oldcoders
10 күн бұрын
Хорошо, исправлю на «необычный дядька»!
@torstmp
10 күн бұрын
@@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀
Спохватился изучать программирование во времена нейросетей. Браво!
@Sborkin1
11 күн бұрын
Так может говорить человек, который точно не программирует сам….
@cherevkovv
11 күн бұрын
@@Sborkin1 это точно ))
Я на секунду обрадовался(( Не смотрите эту ахинею,тут ничего интересного нет. Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.
@oldcoders
11 күн бұрын
Фига ты какой четкий и резкий! Без браузера ватсап не позволит.
@maximturbo45
11 күн бұрын
@@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо
Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?
@Paradise_Box
12 күн бұрын
Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)
@oldcoders
12 күн бұрын
Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.
@user-ke8wc5zj4w
12 күн бұрын
@@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?
@Paradise_Box
12 күн бұрын
@@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.
А деды это кто? Лет в 80?
@oldcoders
10 күн бұрын
Ну это мы так шутим. Для начинающих программировать мы деды конечно
Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)
автор красиво рассказывает @oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.
@oldcoders
8 күн бұрын
Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак. Вот здесь я обо всем рассказал - kzread.info/dash/bejne/no6G1dWopMqcgZM.htmlsi=6kjbLHz4R_u3bsPP