🔍 Regex не прощает ошибок… но с Python мы найдем выход!
Когда в запросе опечатка (`"prro"` вместо "pro"`) — `re.search() ничего не найдёт.
🙅♂️ Regex: [] → *Ноль результатов*
✅ difflib то что нам нужно!
С SequenceMatcher ты можешь находить похожие строки даже с опечатками.
📌 Пример:
🧠 Результат:
📦 Используй difflib для user-friendly поиска и автодополнения. Особенно полезно для:
- Поиска товаров
- Обработки ввода пользователя
- Систем рекомендаций
🔥 Идеально, когда нельзя потерять результат из-за одной буквы!
@pythonl
Когда в запросе опечатка (`"prro"` вместо "pro"`) — `re.search() ничего не найдёт.
🙅♂️ Regex: [] → *Ноль результатов*
✅ difflib то что нам нужно!
С SequenceMatcher ты можешь находить похожие строки даже с опечатками.
📌 Пример:
from difflib import SequenceMatcher
def fuzzy_match(query, products, threshold=0.6):
matches = []
for product in products:
ratio = SequenceMatcher(None, query.lower(), product.lower()).ratio()
if ratio >= threshold:
matches.append((product, f"{ratio:.2f}"))
return matches
🧠 Результат:
[('iPhone 14 Pro Max', '0.88')]
📦 Используй difflib для user-friendly поиска и автодополнения. Особенно полезно для:
- Поиска товаров
- Обработки ввода пользователя
- Систем рекомендаций
🔥 Идеально, когда нельзя потерять результат из-за одной буквы!
@pythonl
👍6❤4🔥4
👾 Разработка реального проекта: игра-платформер на Python
В этом руководстве мы разработаем простой, но полноценный платформер на Python с использованием библиотеки Pygame.
Мы рассмотрим все аспекты игры: создание игрового окна, управление персонажем, обработку столкновений, генерацию уровней и отображение графики.
В конце у вас будет готовый проект, который можно развивать дальше.
Подробности
В этом руководстве мы разработаем простой, но полноценный платформер на Python с использованием библиотеки Pygame.
Мы рассмотрим все аспекты игры: создание игрового окна, управление персонажем, обработку столкновений, генерацию уровней и отображение графики.
В конце у вас будет готовый проект, который можно развивать дальше.
Подробности
❤7👍5🔥3👏1
Forwarded from Kali Linux
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Что умеет:
- Обходит современные защиты: Cloudflare WAF, BrowserScan, Fingerprint, Datadome, Turnstile CAPTCHA
- Эмулирует поведение человека (движения мыши, задержки, сетевое поведение)
- Асинхронность, параллельный запуск, кэш, работа с Sitemap
- Масштабирование через Kubernetes
- Превращение скрапера в десктоп-приложение или веб-интерфейс
⚙️ Botasaurus-driver:
- Быстрый анти-детект драйвер, совместимый с браузером
- API для навигации, кликов, ввода, ожиданий, JS
- Обход CAPTCHA с bypass_cloudflare=True
📦 Экосистема:
- Dockerfile для среды скрапинга
- Starter Template для быстрого старта
- Desktop Starter для десктопных скрапер-приложений
🔗 GitHub: github.com/omkarcloud/botasaurus
#Python #WebScraping #Botasaurus #OpenSource
@linuxkalii
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Open-source инструмент для просмотра CSV, JSON, Excel и других таблиц прямо в терминале — без потери форматирования, аккуратно и читабельно.
🔥 Что умеет:
— Встроенный SQL-движок: фильтры, джойны и анализ прямо в терминале;
— Vim-подобные хоткеи (для фанатов, да 😁);
— Быстрый поиск, работа с несколькими таблицами, поддержка тем (Monokai, Nord и др.).
https://github.com/shshemi/tabiew
🔥 Что умеет:
— Встроенный SQL-движок: фильтры, джойны и анализ прямо в терминале;
— Vim-подобные хоткеи (для фанатов, да 😁);
— Быстрый поиск, работа с несколькими таблицами, поддержка тем (Monokai, Nord и др.).
https://github.com/shshemi/tabiew
❤7👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Полезный трюк: быстро парсим HTML прямо из строки с помощью selectolax — лёгкой и очень быстрой библиотеки на C, в разы быстрее BeautifulSoup.
Установка:
pip install selectolax
Пример с кодом:
from selectolax.parser import HTMLParser
html = """
<html><body> <h1>Hello</h1> <p class='msg'>World</p> </body></html> """
tree = HTMLParser(html)
print(tree.css_first("h1").text()) # Hello
print(tree.css_first("p.msg").text()) # World
https://www.youtube.com/shorts/CSYJDmt4ztg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥3😱2
Что дадут эти вызовы функции в консоли?
Anonymous Quiz
14%
0 и 0
10%
Zero Division Error и Zero Division Error
59%
0 и Zero Division Error
7%
Zero Division Error и 0
10%
Посмотреть ответ
👍6❤3
⚡️ DINOv3 - новое семейство фундаментальных моделей для компьютерного зрения, обученных методом SSL. Ключевой особенностью стал прорыв в обучении без размеченных вручную данных: система, натренированная на 1.7 миллиардах изображений, достигает SOTA-производительности.
Backbone DINOv3 превосходит специализированные модели в широком спектре задач, от классификации до сегментации, без необходимости дополнительного дообучения. Модели разных размеров, включая флагманскую версию на 7 миллиардов параметров, уже доступны на Hugging Face под коммерческой лицензией.
github.com
Backbone DINOv3 превосходит специализированные модели в широком спектре задач, от классификации до сегментации, без необходимости дополнительного дообучения. Модели разных размеров, включая флагманскую версию на 7 миллиардов параметров, уже доступны на Hugging Face под коммерческой лицензией.
github.com
❤4👍2
🐍 Полезный совет по Python: используйте
Многие новички пишут так:
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
Вывод:
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
"".join()
вместо конкатенации строк в цикле Многие новички пишут так:
words = ["Python", "очень", "крут"]
result = ""
for w in words:
result += w + " "
print(result)
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
words = ["Python", "очень", "крут"]
result = " ".join(words)
print(result)
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
lines = ["строка 1", "строка 2", "строка 3"]
text = "\n".join(lines)
print(text)
Вывод:
строка 1
строка 2
строка 3
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
🔥7❤4👍1
Forwarded from Machinelearning
🚀 Tencent Hunyuan только что выкатили AutoCodeBench — мощный open-source инструмент для проверки способностей ИИ в генерации кода.
Что внутри?
🔹 AutoCodeGen — генерация многоязычных датасетов кода без ручной разметки
🔹 AutoCodeBench — почти 4 000 сложных задач на 20 языках программирования (версии Full / Lite / Complete)
🔹 MultiLanguageSandbox — песочница для работы с поддержкой 30+ языков
C AutoCodeBench можно быстро тестировать LLM в кодинге, сравнивать модели и даже создавать свои бенчмарки.
🟠 Статья: arxiv.org/abs/2508.09101
🟠 Код: github.com/Tencent-Hunyuan/AutoCodeBenchmark
🟠 Датасет: huggingface.co/datasets/tencent/AutoCodeBenchmark
@ai_machinelearning_big_data
#AutoCodeBench #AI #coding
Что внутри?
🔹 AutoCodeGen — генерация многоязычных датасетов кода без ручной разметки
🔹 AutoCodeBench — почти 4 000 сложных задач на 20 языках программирования (версии Full / Lite / Complete)
🔹 MultiLanguageSandbox — песочница для работы с поддержкой 30+ языков
C AutoCodeBench можно быстро тестировать LLM в кодинге, сравнивать модели и даже создавать свои бенчмарки.
@ai_machinelearning_big_data
#AutoCodeBench #AI #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
📄🚀 Удобный просмотр кода с rendergit
С помощью rendergit вы можете легко преобразовать любой репозиторий GitHub в статическую HTML-страницу с подсветкой синтаксиса и навигацией. Идеально подходит для быстрого просмотра, анализа кода и удобного поиска.
🚀Основные моменты:
- Два режима просмотра: Человеческий и LLM
- Подсветка синтаксиса и рендеринг Markdown
- Умное фильтрование больших файлов
- Адаптивный дизайн для мобильных устройств
- Удобная навигация по файлам
📌 GitHub: https://github.com/karpathy/rendergit
#python
С помощью rendergit вы можете легко преобразовать любой репозиторий GitHub в статическую HTML-страницу с подсветкой синтаксиса и навигацией. Идеально подходит для быстрого просмотра, анализа кода и удобного поиска.
🚀Основные моменты:
- Два режима просмотра: Человеческий и LLM
- Подсветка синтаксиса и рендеринг Markdown
- Умное фильтрование больших файлов
- Адаптивный дизайн для мобильных устройств
- Удобная навигация по файлам
📌 GitHub: https://github.com/karpathy/rendergit
#python
👍5❤1
🐍 Полезные фишки парсинга в Python
1️⃣ Парсинг JSON без лишних усилий
2️⃣ HTML/XML-парсинг с BeautifulSoup
3️⃣ Парсинг аргументов командной строки с argparse
4️⃣ Быстрый CSV-парсинг
5️⃣ Регулярки для гибкого текста
🔥 Эти трюки помогают парсить JSON, HTML, CSV, аргументы CLI и даже “грязный” текст.
Подойдут как для скриптов, так и для продакшн-кода.
👉 Сохрани, чтобы не забыть!
1️⃣ Парсинг JSON без лишних усилий
import json
data = '{"name": "Alice", "age": 25}'
parsed = json.loads(data)
print(parsed["name"]) # Alice
2️⃣ HTML/XML-парсинг с BeautifulSoup
from bs4 import BeautifulSoup
html = "<h1>Hello <b>Python</b></h1>"
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text) # Hello Python
3️⃣ Парсинг аргументов командной строки с argparse
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--name")
args = parser.parse_args()
print(f"Hello, {args.name}")
4️⃣ Быстрый CSV-парсинг
import csv
with open("data.csv") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["username"], row["score"])
5️⃣ Регулярки для гибкого текста
import re
text = "Email: test@example.com"
match = re.search(r"\w+@\w+\.\w+", text)
print(match.group()) # test@example.com
🔥 Эти трюки помогают парсить JSON, HTML, CSV, аргументы CLI и даже “грязный” текст.
Подойдут как для скриптов, так и для продакшн-кода.
👉 Сохрани, чтобы не забыть!
👍5❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥1