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

Резултати

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

Пребарај: #follow

当前筛选 #follow清除筛选
GAZA NOW IN ENGLISH

@gazaalanpa · Post #21132 · 10.04.2026 г., 23:14

#Follow-up | Reports indicate a large number of martyrs and injured following the targeting of the entrance of Al-Bureij in the central governorate.

Hashtags

Find Blog👁发现博客

@FindBlog · Post #565 · 29.12.2024 г., 09:41

鄙人的个人博客已经在 #Follow 上收获 1000 人订阅,也算是一个小小的鼓励,让自己知道有人在阅读和关注你的博客。 大家的博客或者网站收获了多少订阅呢,欢迎大家在评论区分享。 另外, @FindBlog 将重启周报,每周推荐 10 篇博文,绝不拖更!敬请期待。 频道:@FindBlog 群组:@FindBlog_Group

Hashtags

折腾实验室频道

@TossLabChannel · Post #29 · 23.10.2024 г., 04:43

#青龙#follow Follow每日签到脚本 使用教程 1. 青龙面板依赖 (依赖管理->创建依赖) • 选择 NodeJs 类型, 输入名称: axios 2. 引入脚本 (脚本管理->右上角创建) • 根目录新建 Follow_Checkin.js • 拷贝文件对应内容保存 3. 多账号配置 (环境变量 -> 创建变量) • 多账号规则: FOLLOW_ACCOUNT_X X 以 0 开始, 依次添加 例如: FOLLOW_ACCOUNT_0, FOLLOW_ACCOUNT_1, FOLLOW_ACCOUNT_2 • 输入名称: FOLLOW_ACCOUNT_0 • 输入值: 抓取csrf请求头中的整个Cookie 例 // 就是很长不要怀疑 • authjs.csrf-token=xxxxxx; authjs.callback-url=xxxxxx; authjs.session-token=xxxxxxx; ph_phc_EZGExxxxxxxxwEWNL_posthog=xxxxx 3. 配置定时任务 (定时任务->创建任务) • 任务名:Follow每日签到 • 命令:task Follow_Checkin.js • 定时:0 9 * * * 📢 群聊:@TossQL 🎈 频道:@TossQLChannel https://github.com/geekscloud/ql-script

积木别倒

@jimubiedao · Post #552 · 21.03.2025 г., 03:31

Follow正式登录苹果商店 https://apps.apple.com/us/app/folo-follow-everything/id6739802604 via ADAM🍱 🗒 标签: #Apple#Follow 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot

Akasha Terminal: dev🍃

@AkashaTerminal · Post #2219 · 02.11.2024 г., 16:28

#碎碎念#follow 猫找到了,可以认真分析一波 Follow 的空投了。 这次空投我有 44667 $POWER 相当惊喜,看了一圈对比了一下感觉 Follow 本次空投特别照顾重度用户与开源贡献者与邀请人数多的用户。 1. 鼓励邀请,我的 $POWER 之前每隔 3 天就会生成一个发到我的频道,所以我的邀请码一直是顶着上限发的,没想到能排到这么前(0.01%) 2. 鼓励 Follow 的开源社区,之前用的时候遇到了一些 win 上的 bug 或者想加的功能,由于 Follow 的技术栈正好还比较对我的技术栈,就去 Github Contribution 了一波。数了数大概被合了 6 个 PR,实际上不算是特别活跃的贡献者 hhhh 3. 列表的收益我没留意,不过也是没想到能到 0.07% 这么高。 4. 至于阅读数量、我的订阅数目都满上限了 2333 这个没什么好说就是正常比例。

1900的灯泡店💡

@justfuning1900 · Post #549 · 08.12.2024 г., 08:48

DIYGod发码,说是无限邀请? 🎅 圣诞节限时活动,无限邀请码! zVITxIySDk ZkaX2fZ8Ak SrGdSVAMsz 推文地址:https://x.com/DIYgod/status/1865662184396865732 #工具箱#follow

ПретходнаСтраница 1 од 4Следна