介绍 instiz,我在 PyPI 上发布的第一个库
您好,我想介绍instiz,它是 Python 3+ 的iChart 图表网站的包装器。 iChart 是韩国音乐的实时图表网站。 Chromadream/instiz 用于 iChart K-Pop 图表分数的仅限 Python3 的库。 1000004 instiz 仅用于 iChart K-Pop 图表分数的 Python3 库。 安装 pip install instiz 入门 入门很容易
您好,我想介绍instiz
,它是 Python 3+ 的iChart 图表网站的包装器。 iChart 是韩国音乐的实时图表网站。
Chromadream/instiz
用于 iChart K-Pop 图表分数的仅限 Python3 的库。
1000004 instiz
仅用于 iChart K-Pop 图表分数的 Python3 库。
安装
pip install instiz
入门
入门很容易。下面的例子是获取 iChart 实时图表的前 10 名。
从即时导入 iChart
图表 \u003d iChart()
顶部_10 \u003d ichart.realtime_top_10()
类型提示
如果您使用 Python 3.7+ 的类型提示功能,则可以从instiz.models
模块导入用于图表返回类型的类型。
从 instiz.models 导入条目
def get_name(entry: Entry) -> str
返回 entry.title
艺术家姓名
现在可以轻松获取艺术家的韩文名和英文名,以及从 iChart 网站提供的原始艺术家名。 Nice title 属性将始终返回英文名称,除非不可用。如果其中一个名称不可用,则该属性将返回一个空字符串。
来自 instiz
...
在 GitHub 上查看
背景
我最近开始以技术版主的身份为/r/kpop投稿。看一眼该组织可能会发现 Reddit 社区使用这么多代码是很不寻常的,但它确实帮助了版主的工作,并为社区用户提供了增值。
为什么存在instiz?
subreddit 有一个实时的歌曲图表小部件,它是每小时从 iChart 中抓取的。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--R-g5aI-o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// thepracticaldev.s3.amazonaws.com/i/uwno3xssdb4cwc8ndhys.png)
但是,随着 Reddit 推动重新设计,需要对重新设计的小部件进行移植,这样旧站点和新站点的用户之间就不会出现功能差异。于是,我开始了移植尝试。然而,看一眼当前运行的小部件的源代码就会发现一个可怕的嵌套混乱。不仅如此,scraper 和 parser 与实际的更新功能紧密耦合。
最初创建instiz
是为了在抓取过程和小部件更新过程之间提供关注点分离。它还可以用于任何类型的脚本、机器人或任何利用 iChart 数据的程序。
特点
尽管instiz
的主要功能相当简单,即从 iChart 中抓取和处理数据,但其中还有一些值得注意的附加功能。
- 理智的艺术家姓名处理。
在 iChart 的网站上,艺术家姓名的格式不一致。示例包括제니 (JENNIE)
、TWICE (트와이스)
、아이유(IU)
和Queen(퀸)
。instiz 确保对韩文和英文名称进行预处理,并且图书馆的用户可以轻松检索,而无需额外处理。
代码示例:
from instiz import iChart
ichart = iChart()
first_place = ichart.get_next_entry()
nice_title = first_place.nice_title # "JENNIE - SOLO"
raw_artist_name = first_place.artist.raw_name # "제니 (JENNIE)"
english_artist_name = first_place.artist.english_name # "JENNIE"
korean_artist_name = first_place.artist.korean_name # "제니"
- API 刷新。
提供了刷新功能,因此开发人员不必在每次需要一组新数据时都初始化该类的新实例。
代码示例:
from instiz import iChart
ichart = iChart()
top_10 = ichart.realtime_top_10()
ichart.refresh()
top_10 = ichart.realtime_top_10()
- 它是完全开源的。
instiz
在 MIT 下发布,对于想要开始研究开源文化的人们来说,有一些“好的第一期”。但是,我意识到开源项目中的某些项目通常在instiz
中丢失。请通过提出拉取请求帮助我实现这一点。
谢谢。
感谢您一直阅读这篇文章。对此,我真的非常感激。祝你有美好的一天。
更多推荐
所有评论(0)