Python_Scripts
8.26K subscribers
1.1K photos
13 videos
674 files
1.64K links
Скрипты 💾 на Python 🐍
- боты 🛠
- парсеры📁
- чекеры🔍
- автоматизация🔧
- многое другое💻

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
riddle.py из репозитория Trivernis/python-utility-scripts

📱 Python 3.6+
ℹ️ Модули: requests, os, argparse (в репозитории указаны зависимости)

📌 riddle.py — скрипт, который скачивает все изображения из одного или нескольких сабреддитов. Удобен, если ты хочешь быстро собрать изображения по теме, не вручную копируя ссылки.

👨‍💻 Пример кода (адаптированно):
import os
import requests
import argparse

def download_subreddit_images(subreddit, limit=50, dest="downloads"):
os.makedirs(dest, exist_ok=True)
url = f"https://www.reddit.com/r/{subreddit}/.json?limit={limit}"
headers = {"User-Agent": "Mozilla/5.0"}
resp = requests.get(url, headers=headers)
data = resp.json()

for post in data.get("data", {}).get("children", []):
img_url = post["data"].get("url")
if img_url and (img_url.endswith(".jpg") or img_url.endswith(".png")):
filename = os.path.basename(img_url)
path = os.path.join(dest, filename)
try:
img_data = requests.get(img_url).content
with open(path, "wb") as f:
f.write(img_data)
print("Downloaded:", filename)
except Exception as e:
print("Ошибка скачивания", img_url, e)

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Download images from subreddit")
parser.add_argument("subreddit", help="Name of subreddit")
parser.add_argument("--limit", type=int, default=20, help="How many posts to parse")
parser.add_argument("--dest", default="downloads", help="Destination folder")
args = parser.parse_args()

download_subreddit_images(args.subreddit, limit=args.limit, dest=args.dest)


📌 Что делает:
🟢 Делает HTTP-запрос к API Reddit (JSON)
🟢 Парсит посты, проверяет, есть ли в url изображения (.jpg/.png)
🟢 Скачивает найденные изображения в папку
🟢 Поддерживает указание количества постов через параметр limit
🟢 Печатает статус каждого скачанного файла


🔗 Репозиторий GitHub

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥2
🔥 Полезные библиотеки Python

Flask-Obscure

📌 Flask-Obscure — расширение для Flask, которое маскирует последовательные числовые ID в URL и автоматически декодирует их обратно в функции. Это помогает скрывать настоящую структуру идентификаторов пользователей, заказов и т.п., чтобы затруднить аналитику злоумышленникам, не раскрывая внутреннюю логику.

📌 Особенности библиотеки:
🟢 Поддерживает разные схемы шифрования: num, hex, b32, b64 и tame (особый base32-вариант без гласных).
🟢 При генерации URL через flask.url_for, автоматически превращает числовые ID в “замаскированную” форму, а при маршрутизации — обратно декодирует.
🟢 Интеграция с Jinja2: фильтры доступны в шаблонах — можно прямо выводить “обфусцированные” ID.
🟢 Использует 32-битное “соль” (salt), которую можно задать вручную или через конфигурацию Flask (OBSCURE_SALT) для уникального преобразования.


⚙️ Установка:
pip install Flask-Obscure


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
git-delete-merged-branches

📌 Этот скрипт чистит локальный git-репозиторий, удаляя все ветки, которые уже были смержены в main (или любую другую указанную ветку). Помогает поддерживать репозиторий в порядке, когда после фич- или баг-фиксов остаются десятки ненужных веток.

📌 Особенности скрипта:
🟠 Работает прямо из консоли, без зависимостей.
🟠 Можно указать целевую ветку (main, master, develop).
🟠 Поддерживает dry-run — можно посмотреть, какие ветки будут удалены, перед фактическим удалением.
🟠 Ускоряет навигацию и исключает мусор в локальных репозиториях.


⚙️ Использование:
python git-delete-merged-branches.py --base main --dry-run


Чтобы удалить реально:
python git-delete-merged-branches.py --base main


🔢 Репозиторий

#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
1