Python для новичков (@pythonvideo) Kanalının Son Gönderileri

Python для новичков Telegram Gönderileri

Python для новичков
Админ: @solkogan
Купить рекламу: https://telega.in/c/pythonvideo
6,417 Abone
255 Fotoğraf
15 Video
Son Güncelleme 27.02.2025 08:32

Python для новичков tarafından Telegram'da paylaşılan en son içerikler


Начните карьеру Python-разработчика с нуля: курс с наставником на 14 дней.

🗓 Когда: старт уже 4 марта!

Напишите первый пет-проект в портфолио вместе с Грегори Салиба, Backend-разработчикомв Spectr с опытом в разработке более 4 лет.

На курсе вас ждет:

✔️ ежедневная помощь наставника, ответы на любые вопросы.
✔️ 72 урока прямо в браузере в онлайн-тренажере.
✔️ 4 онлайн-встречи с наставником.
✔️ литература, квизы, задачки, разбор ДЗ, в общем все, чтобы научиться "понимать и писать свой код".
✔️ 2 полезных гайда по Python с собой.

И всего 990 рублей. Гарантируем, что будет интересно😉

https://habr.com/ru/companies/netologyru/articles/881796/

Мониторинг использования диска

import shutil

total, used, free = shutil.disk_usage("/")

print(f"Всего: {total / (1024**3):.2f} GB")
print(f"Использовано: {used / (1024**3):.2f} GB")
print(f"Свободно: {free / (1024**3):.2f} GB")

Подписывайтесь на мой канал про Linux

https://t.me/mindlinux

https://habr.com/ru/companies/ncloudtech/articles/878096/

Пример кода на Python, который использует библиотеку OpenCV и предобученную модель нейросети для распознавания поз людей. В этом примере мы будем использовать модель OpenPose, которая является популярным инструментом для распознавания поз.

### Установка необходимых библиотек

Сначала установим необходимые библиотеки. Вы можете использовать следующие команды для установки:

pip install opencv-python
pip install opencv-python-headless
pip install openpose


### Пример кода

import cv2
import numpy as np
import openpose

# Инициализация OpenPose
params = dict()
params["model_folder"] = "models/" # Папка с предобученными моделями OpenPose
openpose_net = openpose.OpenPose(params)

# Загрузка видео или изображения
cap = cv2.VideoCapture(0) # Используем веб-камеру, или замените на путь к видеофайлу

while True:
ret, frame = cap.read()
if not ret:
break

# Распознавание поз
keypoints, output_image = openpose_net.forward(frame, display=False)

# Отображение результатов
cv2.imshow("Pose Estimation", output_image)

if cv2.waitKey(1) & 0xFF == ord('q'):
break

cap.release()
cv2.destroyAllWindows()


### Объяснение кода

1. Инициализация OpenPose: Мы задаем параметры для OpenPose, указывая папку с предобученными моделями.
2. Загрузка видео или изображения: В этом примере мы используем веб-камеру для получения видеопотока. Вы также можете загрузить видеофайл, заменив cv2.VideoCapture(0) на cv2.VideoCapture('path_to_video.mp4').
3. Распознавание поз: Мы используем метод forward для распознавания поз на каждом кадре видео.
4. Отображение результатов: Результаты распознавания отображаются в окне с помощью OpenCV.

Этот код откроет окно с видеопотоком, где будут отображаться распознанные позы людей в реальном времени. Вы можете остановить выполнение, нажав клавишу q.

### 1. Использование заголовков запросов

import requests

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Accept-Language': 'en-US,en;q=0.5'
}

response = requests.get('https://example.com', headers=headers)
print(response.text)


### 2. Ротация User-Agent

import requests
import random

user_agents = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8',
# Добавьте больше User-Agent строк
]

headers = {
'User-Agent': random.choice(user_agents),
'Accept-Language': 'en-US,en;q=0.5'
}

response = requests.get('https://example.com', headers=headers)
print(response.text)


### 3. Использование прокси

import requests

proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080',
}

response = requests.get('https://example.com', proxies=proxies)
print(response.text)


### 4. Задержки между запросами

import requests
import time

urls = ['https://example.com/page1', 'https://example.com/page2', 'https://example.com/page3']

for url in urls:
response = requests.get(url)
print(response.text)
time.sleep(5) # Задержка в 5 секунд между запросами


### 5. Использование Selenium для эмуляции браузера

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

# Убедитесь, что у вас установлен ChromeDriver и он находится в PATH
service = Service('path/to/chromedriver')
driver = webdriver.Chrome(service=service)

driver.get('https://example.com')

# Пример получения текста из элемента
element = driver.find_element(By.TAG_NAME, 'h1')
print(element.text)

driver.quit()


Эти примеры демонстрируют базовые подходы к обходу антибот фильтров.

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

Используйте заголовки запросов (Headers): Настройте заголовки HTTP-запросов, чтобы они выглядели как запросы от настоящего браузера. Это может включать User-Agent, Accept-Language, и другие заголовки.

Ротация User-Agent: Используйте разные User-Agent заголовки для каждого запроса, чтобы имитировать запросы от разных браузеров и устройств.

Ротация IP-адресов: Используйте прокси-серверы или VPN для смены IP-адреса, чтобы избежать блокировки по IP.

Задержки между запросами: Введите задержки между запросами, чтобы избежать частых обращений к сайту. Это поможет избежать блокировки за чрезмерную активность.

Обработка CAPTCHA: Если сайт использует CAPTCHA, рассмотрите возможность использования сервисов для автоматического решения CAPTCHA, но будьте осторожны, так как это может нарушать условия использования.

Используйте Selenium или Puppeteer: Эти инструменты позволяют эмулировать поведение реального пользователя, включая выполнение JavaScript.

Обработка куки (Cookies): Сохраняйте и используйте куки между сессиями, чтобы имитировать поведение реального пользователя.

Обход Cloudflare: Если сайт защищен Cloudflare, используйте специализированные библиотеки, такие как cloudscraper, для обхода защиты.

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

Этичное использование: Убедитесь, что ваши действия не нарушают законы или условия использования сайта. Всегда старайтесь получить разрешение на парсинг данных.

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

### Работа с видеофайлами: основное введение в MoviePy

Программирование — это не только про массивы, циклы и алгоритмы. Это еще и про творчество. Ведь почему бы нам, программистам, не поработать с видео? Пусть на секунду видеообработка кажется чем-то сложным, но если вы знаете Python, то задача решается проще, чем может казаться. Сегодня знакомимся с библиотекой MoviePy — мощным инструментом, который позволяет легко работать с видео: обрезать, склеивать, добавлять текст, музыку или даже генерировать видеоролики с нуля.

---

### Что такое MoviePy?

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

---

### Установка библиотеки

Перед началом работы убедитесь, что у вас установлен MoviePy. Установка предельно проста — используем pip:

pip install moviepy


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

---

### Быстрый старт: резка и склейка

Самое популярное применение MoviePy — обрезка видео и объединение фрагментов. Давайте начнем с самого простого:

#### Пример: Обрезка фрагмента из видео

Допустим, у вас есть длинный видеоролик, а вам нужна только его часть:

from moviepy.video.io.VideoFileClip import VideoFileClip

# Загружаем видео
clip = VideoFileClip("example.mp4")

# Вырезаем фрагмент с 5-й по 10-ю секунду
trimmed_clip = clip.subclip(5, 10)

# Сохраняем результат
trimmed_clip.write_videofile("output.mp4")


Здесь subclip(start, end) — ключевая функция, которая позволяет вырезать кусок видео по временным меткам.

---

#### Пример: Склейка нескольких видео

Что, если нужно объединить несколько видеофайлов в один? MoviePy делает это элементарно:

from moviepy.video.io.VideoFileClip import VideoFileClip
from moviepy.video.compositing.concatenate import concatenate_videoclips

# Загружаем несколько видеоклипов
clip1 = VideoFileClip("clip1.mp4")
clip2 = VideoFileClip("clip2.mp4")

# Склеиваем их друг за другом
final_clip = concatenate_videoclips([clip1, clip2], method="compose")

# Сохраняем результат
final_clip.write_videofile("merged_video.mp4")


concatenate_videoclips автоматически обрабатывает все нюансы и позволяет вашему видео стать единым целым.

---

### Добавляем текст к видео

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

from moviepy.video.VideoClip import TextClip
from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
from moviepy.video.io.VideoFileClip import VideoFileClip

# Загружаем оригинальное видео
clip = VideoFileClip("example.mp4")

# Создаем текстовый клип
text = TextClip("Hello, MoviePy!", fontsize=50, color='white')

# Указываем, где текст будет отображаться (например, в центре экрана)
text = text.set_position('center').set_duration(5)

# Накладываем текст на видео
final_clip = CompositeVideoClip([clip, text])

# Сохраняем результат
final_clip.write_videofile("video_with_text.mp4")


Параметры текста, такие как шрифт, размер и цвет, полностью настраиваются.

---

### Работа со звуком

Хотите добавить музыку или заменить текущую аудиодорожку? MoviePy справляется с этим на ура!

Например, добавим новую музыкальную композицию в наш видеоклип:

from moviepy.video.io.VideoFileClip import VideoFileClip
from moviepy.audio.io.AudioFileClip import AudioFileClip

# Загружаем видео и аудио
video = VideoFileClip("example.mp4")
audio = AudioFileClip("music.mp3")

# Заменяем аудиотрек
video_with_audio = video.set_audio(audio)

# Сохраняем финальный ролик
video_with_audio.write_videofile("video_with_music.mp4")


Функция set_audio позволяет заменить или добавлять аудиодорожки к видео.

---

### Генерация видео "с нуля"

Если вам нужно не редактировать готовое видео, а создать его, MoviePy и здесь придет на помощь. Например, создадим простую анимацию с цветным фоном:

from moviepy.video.VideoClip import ColorClip

# Создаем цветной видеоклип (5 секунд, синий фон)
clip = ColorClip(size=(640, 360), color=(0, 0, 255), duration=5)

# Сохраняем созданное видео
clip.write_videofile("color_clip.mp4")


---

### Итоги

MoviePy — это невероятно гибкий и мощный инструмент для работы с видео. Простые операции, такие как обрезка или склейка, занимают всего пару строк кода. А возможности по добавлению текста, звука и созданию анимаций открывают настоящий простор для творчества. MoviePy подходит не только новичкам, но и тем, кто хочет автоматизировать работу с видео и сделать ее быстрее.

Теперь никакие видеофайлы не смогут вас напугать! Попробуйте, поэкспериментируйте, и вы почувствуете, насколько интересным может быть программирование.