Привет дорогой гость этот канал создан для тех кто только начинает обучения на языке Python если ты не новичок тебе не сюда 😄
А если ты только начел обучение тогда смотри ниже и находи то что тебе нужен ✨
А если ты только начел обучение тогда смотри ниже и находи то что тебе нужен ✨
#часть 1
Что такое язык python
Python - высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ
Python был создан в 1989–1991 годах
И в 2023 занимает 2 место по языкам
Что такое язык python
Python - высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ
Python был создан в 1989–1991 годах
И в 2023 занимает 2 место по языкам
def get_vowels(String):
return [each for each in String if each in "aeiou"]
get_vowels("animal") # [a, i, a]
get_vowels("sky") # []
get_vowels("football") # [o, o, a]
2. Первая буква в верхнем регистре
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п
def capitalize(String):
return String.title()
capitalize("shop") # [Shop]
capitalize("python programming") # [Python Programming]
capitalize("how are you!") # [How Are You!]
3. Печать строки N раз
Этот пример может печатать любую строку n раз без использования циклов Python
Этот пример может печатать любую строку n раз без использования циклов Python
def merge(dic1,dic2):
dic3=dic1.copy()
dic3.update(dic2)
return dic3
dic1={1:"hello", 2:"world"}
dic2={3:"Python", 4:"Programming"}
merge(dic1,dic2) # {1: 'hello', 2: 'world', 3: '
5. Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции
import time
start_time= time.time()
def fun():
a=2
b=3
c=a+b
end_time= time.time()
fun()
timetaken = end_time - start_time
print("Your program takes: ", timetaken) # 0.0345
#часть 3
Всем добрый день сегодня будем изучать
Как сделать бота для скачивания видео из YouTube
1 делом создаём бота в @BotFather
Для создания бота пишите команду /newbot
После чего вам напишут:
Alright, a new bot. How are we going to call it? Please choose a name for your bot
Задаём любую ник для бота к типу Youtube downloader
После чего вам нужно сделать ссылку на бота (youtubebot)
Начнем создание бота
1: скачеваем библиотеку
pygram
youtube_dl
Комманду ведите в cmd и внутри python:
pip install pyrogram
pip install youtube_dl
Вот и всё :) Больше нам пока что ничего не понадобится
Всем добрый день сегодня будем изучать
Как сделать бота для скачивания видео из YouTube
1 делом создаём бота в @BotFather
Для создания бота пишите команду /newbot
После чего вам напишут:
Alright, a new bot. How are we going to call it? Please choose a name for your bot
Задаём любую ник для бота к типу Youtube downloader
После чего вам нужно сделать ссылку на бота (youtubebot)
Начнем создание бота
1: скачеваем библиотеку
pygram
youtube_dl
Комманду ведите в cmd и внутри python:
pip install pyrogram
pip install youtube_dl
Вот и всё :) Больше нам пока что ничего не понадобится
Кодим. Оболочка бота
Сперва создадим youtube.py
Это будет наш ключевой файл, в котором будет содержаться "оболочка" бота.
Вы должны вставить свой токен, который вы получите от @BotFather.
Отлично! Теперь создаём команду, чтобы бот отвечал
Сперва создадим youtube.py
Это будет наш ключевой файл, в котором будет содержаться "оболочка" бота.
Вы должны вставить свой токен, который вы получите от @BotFather.
from pyrogram.handlers import MessageHandler
import time
from pyrogram import Client, filters
import logging
import requests
import download
import random
import os
import validation
logging.basicConfig(level=logging.INFO)
bot = Client(
"ses1",
api_id=348759,
api_hash="5dc6f4b54b1985199b42a069a5745306",
workers = 5,
bot_token='1635563068:AAFBGsHY9b-ySQMLwedNrXUB8ErlGqpqoYk'
)
Отлично! Теперь создаём команду, чтобы бот отвечал
@bot.on_message(filters.command("start", ["!", "/"]))
def connect(chat, m):
try:
userID = m.chat.id
bot.send_message(userID, 'Привет! Я умею скачивать видео из YouTube.')
except Exception as e:
print(e)
Теперь бот научился здороваться. Можно научить и видео обрабатывать ✨
bot.on_message(filters.text)
def get(chat, m):
url=m.text
userID = m.chat.id
try:
VID_ID = ''
VID_ID = validation.to_valid(url, VID_ID) #валидация регуляркой из validation.py
bot.send_message(m.chat.id, 'Начинаем загрузку видео...')
download.worker(VID_ID) #скачивание видео
bot.send_video(m.chat.id, str(VID_ID) + '.mp4')
os.remove(VID_ID + '.mp4')
except Exception as e:
bot.send_message(m.chat.id, f'Что-то пошло не так! Ошибка
{e}
')Проверка ссылки
Пока что мы хотим скачивать видео только из YouTube
Именно поэтому стоит добавить проверку. Она будет валидировать видео, то есть проверять, какая это ссылка и ссылка ли вообще.
Будем стараться на каждый логический этап создавать новый файл. Поэтому создадим validation.py
Пока что мы хотим скачивать видео только из YouTube
Именно поэтому стоит добавить проверку. Она будет валидировать видео, то есть проверять, какая это ссылка и ссылка ли вообще.
Будем стараться на каждый логический этап создавать новый файл. Поэтому создадим validation.py
import re
def to_valid(url, VID_ID):
youtube_urls_test = ['']
youtube_urls_test.pop(0)
youtube_urls_test.append(url)
youtube_regex = (
r'(https?://)?(www\.)?'
'(youtube|youtu|youtube-nocookie)\.(com|be)/'
'(watch\?v=|embed/|v/|.+\?v=)?([^&=%\?]{11})')
youtube_regex_match = re.match(youtube_regex, url)
VID_ID = youtube_regex_match.group(6)
if youtube_regex_match != None:
return VID_ID
else:
raise Exception('NOT_VALID_URL')