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

Резултати

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

Пребарај: #opml

当前筛选 #opml清除筛选
ALL About RSS

@AboutRss · Post #1444 · 10.04.2024 г., 01:01

RsS iS dEaD LOL: discover RSS Feeds of your follows on Mastodon 频道曾经提及过一个叫 FeedsMage 的服务,用于从你 fo 的推友的 Bio 里找链接,再从链接里找 Feed ,最后可生成一个 #OPML 文件。RsS iS dEaD LOL 则是长毛象版的 FeedsMage,从你 fo 的 Fediverse 用户的 Bio 里找链接,发现 RSS,然后可生成 #OPML: https://rss-is-dead.lol/ 例如我的: https://rss-is-dead.lol/user?profileUrl=https%3A%2F%2Fmastodon.social%2Fusers%2FAboutRSS 发现于作者嘟文: https://mastodon.social/@paulcuth/112178886374464145

Hashtags

ALL About RSS

@AboutRss · Post #1216 · 09.06.2022 г., 01:01

OPML-compatible apps list OPML 是基于 XML 的条目式提纲记录格式,常用于收录 RSS Feed url。差不多一年前,频道提及「社群重拾以 #OPML 进行条目梳理的开放性和便利性」,表示其层级提纲式的用途正在被开发者和使用者接受。一年后,有多少应用支持了 OPML 呢? #OPML 发明人 Dave Winer 给出了一个 list 作为答案。特别的是,这个页面本身也是基于一个 OPML 文件生成的: http://opml.org/compatibleApps.opml 发现于: https://twitter.com/davewiner/status/1533216554594222081 P.S. 频道尝试于 Gitcoin Round 14 接受捐赠: https://gitcoin.co/grants/5980/about-rss

Hashtags

iShare News

@iShareNews · Post #518 · 17.08.2020 г., 13:49

RSS阅读器 Reeder 4 限免 iOS/iPadOS 版本:价格: ¥30→¥0 Mac 版本:价格: ¥68→¥0 APP 白嫖成功了,RSS 源必须有 「独立 blog 订阅列表」 https://www.notion.so/blog-by-liqi-io-4bdf37d4fb3443b4b6dbed8317450307 内含「订阅合集 #OPML 分享」。发现于 https://twitter.com/fm100/status/1294121605367439361 其他RSS源 https://github.com/AboutRSS/ALL-about-RSS#-feed-resourcesprovidersrecommendations 以上订阅来自频道 @aboutrss ————— 频道 @iShareNews

Hashtags

ALL About RSS

@AboutRss · Post #1467 · 19.06.2024 г., 01:15

opml-editor: 一个在线 OPML 编辑器 项目 #开源,支持上传编辑外,可以导入多个 #OPML 文件合并为一个,支持查重: https://opml.imadij.com/

Hashtags

ALL About RSS

@AboutRss · Post #929 · 12.01.2021 г., 01:00

「A collection of over 900 RSS feeds for web developers, updated monthly」 一个 GitHub 上的 #开源#OPML ,月更国外 Web 开发方面的 RSS Feeds ,且已按规范、浏览器、公司、个人等分好了类: https://github.com/simevidas/web-dev-feeds 该 Repo 从 18 年 10 月开始维护: https://webplatform.news/issues/2019-08-30#over-750-rss-feeds-for-web-developers 发现于: https://twitter.com/RSSCircus/status/1292743465969885185

Hashtags

ALL About RSS

@AboutRss · Post #947 · 28.01.2021 г., 01:00

一个覆盖 Information Security News 的 OPML 来自专长于网络安全的博主 Secribee: https://securib.ee/beelog/information-security-news-resources/ 订阅 Ta 家 Newsletter 即可获赠这份含有 78 个 RSS Feed 的 #OPML#资源 : https://attachments.convertkitcdnn2.com/446246/c3c56058-be1f-4967-9fae-f21b2b563020/security-news.opml 发现于其自荐 https://twitter.com/securibee/status/1350116026910994432

Hashtags

ALL About RSS

@AboutRss · Post #923 · 04.01.2021 г., 01:00

TG 频道 “悦读「优质少量 RSS 聚合」” 的订阅源 向 DailyRSS 频道所有人要了下订阅源的 #OPML 文件,发在了这里: https://t.me/wikitalk/10447#资源 该频道订阅源的介绍: https://telegra.ph/Dailyrss-feed-08-01 发现于 https://twitter.com/iwyifan/status/1344925997133656065

Hashtags

ALL About RSS

@AboutRss · Post #801 · 06.09.2020 г., 07:59

群友 「D介子」 的自用 RSS 订阅源 #OPML https://github.com/JoJo720/JoJo720/blob/master/assets/rss/D%E4%BB%8B%E5%AD%90.opml 发现于 Ta 制作的 Notion 页: 「RSS——重新定义自己的信息源」 https://www.notion.so/RSS-db7f1340197843c8a46b1efb0910aaa7 #资源

Hashtags

ALL About RSS

@AboutRss · Post #775 · 20.08.2020 г., 12:10

推友整理了四份 #OPML 订阅源列表 #资源 四份文件来源于 1️⃣博客「一天世界」的订阅源推荐,频道也推送过 2️⃣「RSS Source」 中的所有订阅源 3️⃣ 播客 Anyway.FM 主播 Leon Gao 在第78期节目中分享的个人订阅列表 4️⃣ 整理人 theChenWen 自己的订阅列表 除了「一天世界」推荐的 feed 数较少,故未分类外,其它三个 OPML 均内建分类。 感谢推友 theChenWen 。 🔗下载链接: G-Drive | 奶牛快传

Hashtags

詹詹碎言

@laffitto · Post #510 · 04.01.2021 г., 04:50

TG 频道 “悦读「优质少量 RSS 聚合」” 的订阅源 向 DailyRSS 频道所有人要了下订阅源的 #OPML 文件,发在了这里: https://t.me/wikitalk/10447#资源 该频道订阅源的介绍: https://telegra.ph/Dailyrss-feed-08-01 发现于 https://twitter.com/iwyifan/status/1344925997133656065

Hashtags

ALL About RSS

@AboutRss · Post #1526 · 27.02.2026 г., 02:31

Awesome RSSHub Routes 感谢开发者提交 PR #124,分享了 Awesome #RSSHub Routes,包含官网 RSS Feeds 和 RSSHub 的路由,并输出了 #OPML 供一次性导入,且支持及时检测 Feed 可用性。 🔗https://jackyst0.github.io/awesome-rsshub-routes/ 🐙https://github.com/JackyST0/awesome-rsshub-routes/blob/main/readme-zh.md

Hashtags

ALL About RSS

@AboutRss · Post #579 · 09.05.2020 г., 09:29

https://twitter.com/captn3m0 开发了一款 #开源#工具 :「opml-gen」 https://opml.bb8.fun/ 目前的两个功能是: 1️⃣为你所有打过星的 #Github 项目们生成其releases的 #OPML 文件; 2️⃣基于作者自架的RSS-Bridge,为自选上市公司在美国联邦证券交易委员会的公开文件生成OPML。

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