[PYTHON:TODAY]
62.4K subscribers
2.23K photos
994 videos
285 files
1.39K links
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!

Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat

Сотрудничество: @web_runner

Канал в РКН: https://clck.ru/3GBFVm
Download Telegram
📼 Записываем видео с веб‑камеры на Python!

Хочешь превратить ноутбук в мини‑студию?

Чистый скрипт на OpenCV, который:
💬 подключается к веб‑камере,
💬 показывает превью в реальном времени,
💬 пишет MP4 с нужным разрешением и FPS,
💬 выходит по клавише Q.

from dataclasses import dataclass
from pathlib import Path
from typing import Tuple, Optional

import cv2


@dataclass(frozen=True)
class CaptureConfig:
"""Настройки захвата видео с веб‑камеры."""
device_index: int = 0 # индекс камеры (0 — встроенная)
width: int = 640 # ширина кадра
height: int = 480 # высота кадра
fps: int = 20 # кадров в секунду
fourcc: str = "mp4v" # кодек для MP4: mp4v, для AVI: XVID


def create_capture(cfg: CaptureConfig) -> cv2.VideoCapture:
"""Создаёт и настраивает объект VideoCapture."""
cap = cv2.VideoCapture(cfg.device_index)
if not cap.isOpened():
raise RuntimeError("Не удалось открыть веб‑камеру")

cap.set(cv2.CAP_PROP_FRAME_WIDTH, cfg.width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, cfg.height)
cap.set(cv2.CAP_PROP_FPS, cfg.fps)
return cap


def create_writer(output_path: Path, cfg: CaptureConfig) -> cv2.VideoWriter:
"""Создаёт объект записи видео (VideoWriter)."""
output_path.parent.mkdir(parents=True, exist_ok=True)
fourcc = cv2.VideoWriter_fourcc(*cfg.fourcc)
writer = cv2.VideoWriter(str(output_path), fourcc, cfg.fps, (cfg.width, cfg.height))
if not writer.isOpened():
raise RuntimeError(f"Не удалось создать файл для записи: {output_path}")
return writer


def record_from_webcam(
output_path: Path,
cfg: CaptureConfig = CaptureConfig(),
window_title: str = "Video",
) -> Tuple[bool, Optional[str]]:
"""
Захватывает поток с веб‑камеры, показывает превью и пишет в файл.
Возвращает (успех, сообщение_ошибки).
Остановка по клавише 'q'.
"""
try:
cap = create_capture(cfg)
writer = create_writer(output_path, cfg)
except Exception as e:
return False, str(e)

try:
while True:
ok, frame = cap.read()
if not ok:
return False, "Не удалось прочитать кадр с камеры"

writer.write(frame)
cv2.imshow(window_title, frame)

# выход по 'q'
if cv2.waitKey(1) & 0xFF == ord("q"):
break
return True, None
finally:
cap.release()
writer.release()
cv2.destroyAllWindows()


def main() -> None:
cfg = CaptureConfig(
device_index=0,
width=640,
height=480,
fps=20,
fourcc="mp4v", # для .mp4; можно 'XVID' для .avi
)
ok, err = record_from_webcam(Path("records/vid.mp4"), cfg)
if ok:
print(" Запись завершена. Файл: records/vid.mp4")
else:
print(f" Ошибка: {err}")


if __name__ == "__main__":
main()


Код структурирован на функции, есть @dataclass для настроек — бери, редактируй и встраивай в свой проект.

📦 Зависимости: pip install opencv-python
📁 Файл сохраняется в: records/vid.mp4

Сохраняй, пригодится! 👍

#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥125
This media is not supported in your browser
VIEW IN TELEGRAM
💻 Как выглядят ботофермы нового поколения, наглядно

Не эмуляторы, которые соцсети палят на раз-два, а десятки настоящих смартфонов, каждый с уникальным IP и ИИ, который идеально копирует человеческое поведение: лайки, комменты, скролл, задержки 😱

За всем стоит стартап AutoViral. Его создатель Айо Мосуро уверяет: такие боты могут полностью заменить СММ-отдел — работают в 20 раз продуктивнее и стоят в 8 раз дешевле живого сотрудника.

📉 СММщики всё, «цифровые коллеги» уже дышат в спину.

#news #cyberpunk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54😱20👍164🤯2
🐍 Вебинар «Ящик со змеями: контейнеризация Python-приложений и работа с Docker»

📅 26 августа в 20:00 (МСК)

Хотите навести порядок в окружениях, ускорить разработку и перестать слышать «у меня работает, а у тебя - нет»? Тогда вам на этот вебинар от курса «Python Developer. Professional»!

Что будет на вебинаре?
- Зачем нужна контейнеризация и как она упрощает жизнь разработчику
- Особенности использования Docker для Python-приложений
- Как писать понятные и эффективные Dockerfile
- Как избежать типичных ошибок и работать с Docker в команде

🎓 Если вы хотите системно развиваться в Python и выйти на профессиональный уровень - не упустите шанс! Курс стартует уже 29 сентября, и вебинар - отличный повод начать этот путь.

📲 Участие бесплатно. Регистрируйтесь и приходите: https://otus.pw/HLEi/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍115
🔥 Полезные библиотеки Python

EyeGestures — представь: ты управляешь интерфейсом одними глазами, без мышки и клавиатуры. Это не фантастика — это EyeGestures: open-source библиотека, которая превращает твою вебку или камеру телефона в eye-tracker.

👍 Никакого дорогого железа, только Python и немного кода.
С её помощью можно строить приложения для управления взглядом, исследования или просто фана.

📦 Установка:

pip install eyeGestures


👨‍💻 Работает из коробки:
python3 examples/simple_example_v2.py


Пример кода:

from typing import Tuple, Optional
from eyeGestures.utils import VideoCapture
from eyeGestures import EyeGestures_v3

def run_eye_tracker(screen_width: int = 500, screen_height: int = 500) -> None:
"""
Запускает eye-tracking с помощью EyeGestures.

:param screen_width: ширина экрана в пикселях
:param screen_height: высота экрана в пикселях
"""
gestures = EyeGestures_v3()
cap = VideoCapture(0)
calibrate: bool = True

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

event, cevent = gestures.step(
frame,
calibrate,
screen_width,
screen_height,
context="my_context"
)

if event:
cursor_x, cursor_y = event.point[0], event.point[1]
fixation: Optional[bool] = event.fixation
saccades: Optional[bool] = event.saccadess # движение глаз

print(f"X: {cursor_x}, Y: {cursor_y}, Fixation: {fixation}, Saccades: {saccades}")

if __name__ == "__main__":
run_eye_tracker()


Почему это имба для новичков:

➡️ Вход в мир компьютерного зрения через понятный код.
➡️ Реальная магия — управление глазами!
➡️ Лёгкая практика Python + OpenCV + Machine Learning.
➡️ Сразу видишь результат: твой курсор живёт вместе с тобой.

♎️ GitHub/Инструкция

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

#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍32🔥109
😆 «Лол, знаю, это не мой»

С добрым утром! ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10219🔥14🫡6🤯1😱1
👨‍💻 NumPy для самых маленьких на русском

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

Сохраняй гайд для начинающих, с примерами и объяснением кода 👍

#doc #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥61
[PYTHON:TODAY]
😂 Когда заколебал ИИ своими запросами Смотреть со звуком 😂 С добрым утром! #cyberpunk
This media is not supported in your browser
VIEW IN TELEGRAM
😱 Инженеры такие: а давайте дадим вот этому огнемет. Что может пойти не так?

С добрым утром! Хорошей недели! ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥14😱6🤯54
🔥 Полезные библиотеки Python

📂 Google Image Scraper — парсер Google картинок.

Представь: нужно найти сотни фото для проекта, анализа, датасета или дизайна. Вручную сохранять? Долго. Тут и выручает Google Image Scraper — парсер, который за пару минут соберёт всё, что тебе нужно.

📊 Где пригодится:

🟢Машинное обучение — собирать датасеты для тренировки моделей.
🟢Дизайн и креатив — референсы для идей и проектов.
🟢Контент — подбор картинок для соцсетей, презентаций, статей.
🟢OSINT и ресёрч — анализ изображений для расследований или мониторинга.
🟢Автоматизация — вместо ручного поиска и скачивания.

Установка:
$ git clone https://github.com/ohyicong/Google-Image-Scraper

$ cd Google-Image-Scraper

$ pip install -r requirements.txt


Запуск:
$ python main.py


Возможные параметры для main.py:
search_keys = Строки, по которым будет осуществляться поиск;
number of images = Желаемое количество изображений;
headless = поведение графического интерфейса Chrome. Если True, графического интерфейса не будет;
min_solve = Минимальное желаемое разрешение изображения;
max_solve = Максимальное желаемое разрешение изображения;
max_missed = Максимальное количество неудачных попыток захвата изображения до завершения работы программы. Увеличьте это число, чтобы гарантировать, что большие запросы не завершатся;
number_of_workers = Количество созданных секционных рабочих мест. Ограничено одним работником на каждый поисковый запрос и ветку.

⚙️ GitHub/Инструкция

#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥73
Каким будет ваш сервер через 5 лет?

Вендоры перестают делать универсальные серверные процессоры, производственные линии DDR4 закрываются, а совместимость DDR4 с DDR5 отсутствует. Что делать, чтобы купленные серверы оставались актуальными и справлялись с растущей нагрузкой в будущем?

Актуальное решение с перспективой на будущее можно найти у Selectel, одного из ведущих провайдеров IT-инфраструктуры. Selectel Server — серверная платформа собственной разработки на базе процессоров Intel Xeon 6 поколения с DDR5-памятью и дисками NVMe PCIe Gen5. Решение использует актуальные интерфейсы и компоненты нового поколения, чтобы инфраструктура закрывала постоянно растущие требования в будущем.

Что особенного в серверах Selectel?


Высокая производительность. Обработка задач происходит быстрее на 30–50% по сравнению с предыдущими поколениями оборудования.

Возможность кастомной настройки. Серверная платформа представлена на базе двух разных линеек процессоров: с E-ядрами под масштабируемые кластеры, микросервисы и базы данных и P-ядрами под  ИИ- ML-задачи и высоконагруженные вычисления.

И главное — серверы Selectel гарантируют долгосрочную устойчивость бизнеса. Кроме актуальной серверной архитектуры, провайдер дает расширенную гарантию и полноценную техподдержку.

Протестируйте Selectel Server бесплатно: https://slc.tl/r1qmv

Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqxFoDWa
👍102😱1
💻 Как получить подробную информацию по IP с помощью Python?

📍 IPGeoLocation — OSINT-инструмент для работы с IP и доменами.

Хочешь узнать, откуда реально приходит трафик или где физически находится сервер?

IPGeoLocation, утилита на Python, которая за пару секунд выдаст подробный отчёт по любому IP или домену.

Что умеет:
💬 Определяет геопозицию IP или домена.
💬 Показывает твоё собственное местоположение по IP.
💬 Работает со списком IP/доменов из файла.
💬 Можно задать свой User-Agent или рандомные из списка.
💬 Поддержка прокси и выбор случайного IP.
💬 Открывает точку прямо в Google Maps.
💬 Экспорт результатов в TXT, CSV, XML.

📊 Данные, которые ты получаешь:
ASN, город, страна, ISP, организация, широта/долгота, регион, часовой пояс, ZIP.

📦 Установка:

git clone https://github.com/maldevel/IPGeoLocation
pip3 install -r requirements.txt


⌨️ Примеры использования:

Узнать свой IP:

./ip2geolocation.py -m


Проверить IP:

./ip2geolocation.py -t 8.8.8.8


Проверить домен:

./ip2geolocation.py -t example.com


Сразу открыть локацию в Google Maps:

./ip2geolocation.py -t 8.8.8.8 -g


🔍 Инструмент мастхэв для:
🟢OSINT-исследований;
🟢Анализа сетевой активности;
🟢Проверки безопасности;
🟢Пентестов и ресёрча.

♎️ GitHub/Инструкция

👍 Сохрани, пригодится каждому, кто работает с сетью и безопасностью!

#osint #python #soft #tipsandtricks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥62🤯1