TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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

Резултати

Пронајдени 2 слични објави

Пребарај: #flickr

当前筛选 #flickr清除筛选
GitHub Trends

@githubtrending · Post #15001 · 28.07.2025 г., 11:30

#python#danbooru#deviantart#downloader#flickr#gallery#kemono#mangadex#pixiv#tumblr#twitter gallery-dl is a free, easy-to-use command-line tool that lets you download image galleries and collections from many popular image hosting sites. It works on Windows, macOS, and Linux, and you can install it using pip, package managers like Homebrew or Chocolatey, or as a standalone executable. You can customize it with configuration files, use login credentials or browser cookies for private content, and even filter downloads by tags or chapters. This tool helps you quickly save large amounts of images or videos from websites, making it convenient to archive or organize media offline. It supports many sites and offers flexible options for advanced users. https://github.com/mikf/gallery-dl

和你報WhatsNews Media

@whatsnewshk · Post #3305 · 13.06.2022 г., 22:24

[STUDIO INCENDO社交平台專頁突然消失 只餘網站及Flickr平台仍能進入] #港聞 圖:K 昨天,於社交平台坐擁數十萬讚好數的STUDIO INCENDO專頁,突然從Facebook、Twitter及Instagram平台消失,暫時只剩餘STUDIO INCENDO網站及Flickr平台仍然能正常探訪。 根據STUDIO INCENDO自我簡介,他們是由一群來自香港及日本的攝影師及記者,他們於2014年以不營利的方式創立STUDIO INCENDO以及獨立運作,主要是以相片記錄香港社會運動的情況,尤其於2019年更是聲名大噪。運動期間多張照片更廣泛流傳,他們的作品亦於全球多間媒體作展示,例如美聯社、華爾街日報、BBC、香港蘋果日報、自由時報、立場新聞等。 完整報道:https://www.whatsnewsmedia.com/9396/06/24/07/ #記者#Twitter#Facebook#日本#Instagram#平野雨龍#STUDIO_INCENDO#媒體#攝影師#Flickr#涼御靜