Metrolyrics原料药
tswift的Python项目详细描述
这个回购协议实际上与泰勒·斯威夫特没有直接关系。只是一个简单的 用于从Metrolycs获取歌词的PythonAPI。这很简单:
fromtswiftimportArtistimportrandomtswift=Artist('Taylor Swift')song=random.choice(tswift.songs)print(song.format())
设置
这个包依赖于lxml、requests和google。这些应该是 从pip安装此软件包时安装:
pip install tswift
安装后,您还可以使用 命令:
tswift
cli
该模块带有一个简单的命令行界面。默认情况下,它将 显示泰勒·斯威夫特的随机歌曲。您可以指定这样的艺术家:
tswift 'Lynyrd Skynyrd'
您可以选择一首特定的歌曲:
tswift 'Lynyrd Skynyrd' -s Freebird
还有一个“歌词搜索模式”,它允许您通过 歌词,例如:
tswift -l 'I would walk 500 miles' Im Gonna Be 500 Miles Proclaimers --------------------- When I wake up, well I know I'm gonna be, I'm gonna be the man who wakes up next you ...
API
艺术家类
构造函数只接受一个参数,即艺术家名称。这个名字将是 “slugified”以便在url中使用它。这个过程包括更换 用连字符分隔,并使所有内容都小写。如果这还不够 对于您的特定艺术家,您需要提供 他们的名字。
- songs-此艺术家的歌曲实例列表。这将调用load() 如果它还没有被调用
- name-艺术家的名字
- load()-填充songs列表
歌曲类
构造函数可以通过两种方式调用。首先,您提供 Metrolycs URL,类将推断艺术家和歌曲标题:
s=Song(url='url here')
在第二种方式中,你提供一个标题和艺术家,这将被削弱。
s=Song('Taylor Swift','Love Story')
属性是:
- lyrics-一个字符串。如果尚未加载,访问此文件将调用load()。
- title-删除歌曲标题
- artist-取消禁用艺术家名称
- load()-加载歌词
- format()-返回歌词,带有包含标题和 艺术家
静态方法Song.find_song(lyrics)接受带有搜索项的字符串, 执行谷歌搜索。它返回与 它找到的第一个Metrolycs链接,在20个结果后停止。如果什么都找不到, 返回None。