Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример).
Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать?
В Django по умолчанию есть готовая функция slugify для таких случаев.
Но я её никогда не использую. Почему? Потому что её недостаточно!
Приведём пример
>>> from django.utils.text import slugify
>>> slugify('This is a Title')
'this-is-a-title'
Пока всё отлично
>>> slugify('This is a "Title!"')
'this-is-a-title'
Спец символы удалились, всё хорошо.
>>> slugify('Это заголовок статьи')
''
Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить
>>> slugify('Это заголовок статьи', allow_unicode=True)
'это-заголовок-статьи'
Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте.
Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою.
Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку:
🔸1. Исходный текст:
>>> text = 'Мой заголовок №10 😁!'
Взял специально посложней со специальными символами.
🔸2. Транслит
Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги.
from unidecode import unidecode
>>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山")
'N S (r) u P 1/4 Yue Shan'
Очень крутая библиотека, советую👍
В нашем случае получаем такое преобразование:
>>> text = unidecode(text)
>>> print(text)
'Moi zagolovok No. 10 !'
Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы.
А еще наш код уже поддерживает любой язык, будь то хинди или корейский.
🔸4. Фильтр символов
Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона.
>>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text)
>>> print(text)
'Moi_zagolovok_No_10_'
Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_".
🔸5. Slugify
Осталось удалить лишние символы по краям и сделать нижний регистр
>>> text = text.strip('_').lower()
>>> print(text)
'moi_zagolovok_no_10'
Получаем отличный slug! 😎
🌎 Полный код в виде функции.
______________
PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию.
#libs#tricks#django
Parsing.uz — bu Oʻzbek tilida ishlovchi onlayn xizmat bo‘lib, lotin alifbosidagi matnni kirill alifbosiga va aksincha o‘girishga moʻljallangan.
Quyidagi asosiy funksiyalari bor:
➖ Word, Excel, PowerPoint, PDF, TXT va OpenDocument (odt, ods) formatdagi hujjatlarni lotindan kirillga yoki kirilldan lotinga konvertatsiya qilish.
➖ «Ў», «Қ», «Ҳ», «Ғ», «Ч», «Ц» kabi o‘zbek alifbosidagi harflarni noto‘g‘ri tarjima qiladigan ba’zi dasturlardagi muammolarni tuzatish.
Afzalliklari:
➖Matnni avtomatik va tez oʻgirish imkoniyati.
➖ Hujjatlar bilan ishlaganda qulay — turli fayl formatlarini qoʻllab-quvvatlaydi.
➖ Oʻzbek tiliga xos harflar bilan ishlashda aniqlik
✅Bizning barcha loyihalar | #parsing
🍯 Как узнать, что токен — honeypot?
🚩Красный флаг — Что это значит
🤖 Нет исходного кода контракта на explorer'е — Скрывают детали схемы
📉 Нельзя увидеть, кто продавал токен — Только покупки, значит ловушка
🔐 Контракт не верифицирован — Может быть встроен запрет на продажу
💸 Высокие комиссии (от 30% и выше) — Крипто-вампиризм
🧠 Слишком активный памп без причины — Это не инсайд, это развод
Также можно использовать honeypot checker'ы, например: https://honeypot.is, https://tokensniffer.com
Итог:
Honeypot в крипте — это когда тебе дают “попробовать” токен, но забирают всё остальное.
Ты не трейдер. Ты наживка.
Купить можно — выйти нельзя.
#PARSING
💰"NFT-дроп как метод самообнуления"
Фейковые дропы, NFT и TON-розыгрыши в Телеге — всё ещё рабочий скам, только обёртка стала красивее.
Хочешь понять, как именно у тебя сливают кошелёк за 3 клика — листай слайды.
Если ты до сих пор веришь в подарки от Telegram — читай дважды.
#PARSING
🤡«Меня не развести, я в интернете с 2012-го, я шарю»
— сказал чел и через 3 минуты назвал код из СМС «сотруднику банка».
Почему мы так уверены, что не попадёмся?
Потому что мозг делает тупейшую вещь — он думает, что уже всё знает.
Разберем по пунктам:
1. Иллюзия иммунитета
- Ты слышал тысячи историй, видел мемы, читал в тгк/вк, как “лохов разводят на деньги”.
- И думаешь: «Это с ними. Я-то гений. Я-то шарю».
- Поздравляем, ты в зоне риска.
2. “Это слишком глупо, чтобы сработать”
- Звонит бот: «Ваш договор просрочен, переведите деньги на безопасный счёт».
- Ты рофлишь… а потом через 3 звонка — реальный голос, знание твоих данных, угроза суда.
- И ты уже не ржёшь. Ты паникуешь.
3. Эффект доверия
- Как только слышим «банк», «налоговая», «Минцифра» — 🧎♂️ автоматически подчиняемся.
- Это инстинкт. Нам проще поверить, чем спорить.
- А скамеры — этим и живут.
4. Психология паники
- «На вас оформлен кредит, сейчас деньги спишутся!»
- Таймер, давление, угроза.
Мозг — в режиме “бей или беги”.
Ты бьёшь... по кнопке перевода.
Вывод:
Если ты думаешь, что “ не лох/гений/нетакуся ” — ты не защищён, а уязвим - как посылка из Shein на таможне📦.
Реально защищён — только тот, кто осознан и готов к разводу. Кто знает схемы. Кто не доверяет звонкам. Кто дважды проверяет.
Не будь уверенным. Будь внимательным!
#PARSING
Ребятки, подготовил для вас краткую навигацию по каналу, чтобы ничего не затерялось.
Интересные для себя темы ищем по хештегам ниже:
#NEWS - новые, как твои кроссики👟, новости о недо-мошенниках
#SCAM - свежайшие, как спелый персик🍑, схемы (лучше перебдеть, чем недобдеть)
#HOT - горячие, как бабушкины блинчики🥞, новости о том, что запрещают или запретят в скором времени
#TOP - собрали хит-парад способов стать бомжом🏚, даже не выходя из дома.
#PARSING - разбираем, почему при слове “уголовная ответственность” ты сливаешь бабки быстрее, чем суши по акции🍣.
#python#agents#generative_ai_tools#llamacpp#llm#onnx#openvino#parsing#retrieval_augmented_generation#small_specialized_models
llmware is a powerful, easy-to-use platform that helps you build AI applications using small, specialized language models designed for business tasks like question-answering, summarization, and data extraction. It supports private, secure deployment on your own machines without needing expensive GPUs, making it cost-effective and safe for enterprise use. You can organize and search your documents, run smart queries, and combine knowledge with AI to get accurate answers quickly. It also offers many ready-to-use models and examples, plus tools for building chatbots and agents that automate complex workflows. This helps you save time, improve accuracy, and securely leverage AI for your business needs[1][3][5].
https://github.com/llmware-ai/llmware