Forwarded from Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍72🔥25❤3🤯2🫡2😱1
Инструмент, который берёт под контроль мышь и клавиатуру.
Несколько строк кода заставят твой ПК кликать, печатать, двигать курсор и даже искать картинки на экране.
Где использовать?
Фишки:
pip install pyautogui
Простой пример, как сделать скриншот экрана:
python
import pyautogui
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot.png')
Автоматизируй ПК и освободи время для реально важных задач!
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍59❤13🔥9🤯5
Код готового Telegram-бота, который сам раздаёт капчу новичкам и не пускает в группу спамеров.
Что умеет:
С ростом числа спам-ботов в Telegram, особенно в крупных группах, наличие надежной системы верификации становится критически важным. Подобные боты предоставляют простое и эффективное решение для этой проблемы.
#python #soft #code #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤11🔥9🤯3
Как можно определить географическое местоположение объекта на фотографии, используя только длину тени и время съёмки. Разбираем на конкретном примере.
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥16❤3🤯1😱1
[PYTHON:TODAY]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥14🤯3❤2
Когда нужно собрать фотки, скриншоты или диаграммы в один файл — забудь про ручное копирование.
Python решает задачу в несколько строк кода: просто передай список изображений, и на выходе получишь аккуратный PDF.
from fpdf import FPDF
from pathlib import Path
from typing import List
def images_to_pdf(images: List[str], output: str = "output.pdf") -> None:
"""
Конвертирует список изображений в единый PDF-файл.
:param images: список путей к изображениям (JPG, PNG и т.д.)
:param output: имя выходного PDF-файла
"""
pdf = FPDF()
for img_path in images:
if not Path(img_path).exists():
print(f"⚠️ Файл не найден: {img_path}")
continue
pdf.add_page()
pdf.image(img_path, x=10, y=10, w=180) # подгоняем ширину под страницу
pdf.output(output)
print(f"✅ PDF создан: {output}")
if __name__ == "__main__":
# Пример использования
images_to_pdf(
["image1.jpg", "image2.png", "image3.jpg"],
"images_collection.pdf"
)
Что умеет скрипт:
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45❤12🔥10
Хочешь превратить ноутбук в мини‑студию?
Чистый скрипт на OpenCV, который:
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
👍31❤14🔥13
EyeGestures — представь: ты управляешь интерфейсом одними глазами, без мышки и клавиатуры. Это не фантастика — это EyeGestures: open-source библиотека, которая превращает твою вебку или камеру телефона в eye-tracker.
С её помощью можно строить приложения для управления взглядом, исследования или просто фана.
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 выглядит как магия
#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍39🔥14❤13
Forwarded from GitHub программиста
Представь: нужно найти сотни фото для проекта, анализа, датасета или дизайна. Вручную сохранять? Долго. Тут и выручает Google Image Scraper — парсер, который за пару минут соберёт всё, что тебе нужно.
Установка:
$ 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
= Количество созданных секционных рабочих мест. Ограничено одним работником на каждый поисковый запрос и ветку.#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥10❤7
Хочешь узнать, откуда реально приходит трафик или где физически находится сервер?
IPGeoLocation, утилита на Python, которая за пару секунд выдаст подробный отчёт по любому IP или домену.
Что умеет:
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 #python #soft #tipsandtricks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥8❤7🤯1
Представь: сотни сообщений в WhatsApp, лайки и подписки в *Instagram, работающий Telegram-бот, письма с вложениями и даже обработка PDF — и всё это делает не ты, а твой код.
Что ты сможешь:
* Принадлежит корпорации Meta, которая признана в РФ экстремистской.
Это твой шанс освободить время, повысить продуктивность и даже зарабатывать, создавая авто-сценарии для клиентов.
Сохраняй, пригодится!
#python #doc #code
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍50❤16🔥9🤯1
Надоело вручную вытаскивать текст и данные из PDF, Word или сканов? Теперь это можно делать в один вызов API.
Что умеет:
Технические фишки:
CLI:
# Извлечь текст
uvx kreuzberg extract document.pdf > output.txt
# OCR + таблицы
uvx --from "kreuzberg[all]" kreuzberg extract invoice.pdf --ocr-backend tesseract --output-format text
Python (async):
from kreuzberg import extract_file
result = await extract_file("presentation.pptx")
print(result.content)
print(result.metadata.title, result.metadata.author)
Подходит для:
#python #soft #code #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥29❤10
Создан для ресёрчеров и специалистов по безопасности, чтобы проверить, не светится ли IP-адрес с открытой камерой наблюдения. CamXploit не просто пингует железку — он пробивает её по всем фронтам:
Что умеет:
git clone https://github.com/spyboy-productions/CamXploit.git
cd CamXploit
pip3 install -r requirements.txt
python CamXploit.py
Вводишь IP — и видишь всё, что спрятано за ним.
#cybersec #python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤11🔥9
PDF-EXTRACT-API — крутой Python инструмент для конвертации любого изображения или PDF документа в текст Markdown или структурированный документ JSON с очень высокой точностью, включая табличные данные, числа или математические формулы.
Под капотом:
#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍55🔥14❤12
Модуль datetime — твой лучший друг, если нужно работать с датами, временем или таймзонами.
📅 Форматирование дат и времени:
*
%a
→ короткий день недели (Mon)*
%A
→ полный день недели (Monday)*
%b
→ короткий месяц (Jan)*
%B
→ полный месяц (January)*
%d
→ день месяца (01–31)*
%m
→ месяц (01–12)*
%y
→ год без века (23)*
%Y
→ год с веком (2023)*
%j
→ день в году (001–366)*
%H
→ час (24ч, 00–23)*
%I
→ час (12ч, 01–12)*
%M
→ минуты (00–59)*
%S
→ секунды (00–61, да, 61! 😅)*
%f
→ микросекунды (000000–999999)*
%p
→ AM/PM*
%z
→ UTC-смещение (+0300)*
%Z
→ таймзона (если есть)*
%U
→ номер недели (с воскресенья)*
%W
→ номер недели (с понедельника)*
%x
→ локальная дата*
%X
→ локальное время*
%%
→ просто знак %
Примеры:
from datetime import datetime
now = datetime.now()
print(now)
# 2025-09-03 13:41:30.123456
Примеры форматирования даты:
print(now.strftime("%A, %d %B %Y"))
# Wednesday, 03 September 2025
print(now.strftime("%a, %d.%m.%y"))
# Wed, 03.09.25
print(now.strftime("День года: %j"))
# День года: 246
Примеры форматирования времени:
print(now.strftime("%H:%M:%S"))
# 12:45:30
print(now.strftime("%I:%M %p"))
# 12:45 PM
print(now.strftime("Микросекунды: %f"))
# Микросекунды: 123456
#python #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍67❤7🔥6
#python #soft #nn #github
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍43❤11🔥10
Deep-Live-Cam — Python утилита для создания дипфейков в реальном времени даже на слабом ПК.
Установка простая, а для работы нужна всего одна фотография.
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58🔥19❤4
И главное — это всё абсолютно бесплатно
#python #soft #github #nn
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍42🔥9🤯5❤4
Парсер Google изображений — работает аккуратно: кастомный User-Agent, задержки, сохранение расширения по Content-Type.
Несколько строк кода — и у тебя уже папка с десятками картинок по любому запросу: котики, машины, мемы или даже датасет для нейросети.
pip install requests beautifulsoup4
python google_images_mini.py
Код:
import os, re, time, pathlib, requests
from bs4 import BeautifulSoup
from typing import List
UA = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/124.0 Safari/537.36")
def slug(s: str) -> str:
return re.sub(r"[^a-zA-Z0-9а-яА-Я_]+", "_", s).strip("_")[:50] or "item"
def google_image_urls(query: str, limit: int = 10) -> List[str]:
url = "https://www.google.com/search"
params = {"q": query, "tbm": "isch", "hl": "ru"}
r = requests.get(url, params=params, headers={"User-Agent": UA}, timeout=15)
r.raise_for_status()
soup = BeautifulSoup(r.text, "html.parser")
out: List[str] = []
for img in soup.select("img"):
if len(out) >= limit: break
src = img.get("data-iurl") or img.get("data-src") or img.get("src")
if not src or src.startswith("data:"): continue
if "gstatic.com" in src and "encrypted" in src: continue # миниатюры
if src.startswith("http"): out.append(src)
return out
def download(urls: List[str], folder: str, name: str) -> None:
pathlib.Path(folder).mkdir(parents=True, exist_ok=True)
for i, u in enumerate(urls, 1):
try:
r = requests.get(u, headers={"User-Agent": UA}, timeout=20)
if r.status_code != 200: raise RuntimeError(f"HTTP {r.status_code}")
ext = (r.headers.get("Content-Type","").split(";")[0].split("/")[-1] or "jpg")
ext = ("jpg" if ext == "jpeg" else ext)
path = os.path.join(folder, f"{name}_{i:02d}.{ext}")
with open(path, "wb") as f: f.write(r.content)
print(f"✅ {path}")
time.sleep(0.3) # чуть-чуть вежливости
except Exception as e:
print(f"⚠️ пропуск: {u} — {e}")
def download_google_images(query: str, limit: int = 10, folder: str = "images") -> None:
name = slug(query)
urls = google_image_urls(query, limit)
if not urls:
print("Ничего не нашёл. Попробуй другой запрос.")
return
download(urls, os.path.join(folder, name), name)
if __name__ == "__main__":
# пример: меняй запрос и лимит по вкусу
download_google_images("cats 4k", limit=5)
Скрипт:
Отличный лайфхак, если нужно быстро собрать датасет или загрузить тонны изображений без ручного копипаста.
Сохраняй, пригодится!
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥18❤11
MetadataParser — Python-библиотека, которая вытащит всё о сайте по одной ссылке!
Устанавливается в один клик:
pip install metadata_parser
#python #soft #code #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥12❤5