所以我想从歌词网站索引歌词,然后对歌词进行操作(搜索某些艺术家,术语,模式等)。
我认为最好的情况是,如果我已经有一些结构化文件格式供我使用 - >有谁知道这样的事情是否存在?
下一个最好的事情是一个“适合”我想要做的网站 - >任何这样的网站?
关于我如何快速做到这一点的一般评论? (这应该是一个有趣的项目而不是重型应用程序)
谢谢!
答案 0 :(得分:3)
从网站下载歌词数据库是个坏主意,你可以查询你想要的每个歌词。
即使您下载了所有歌词,也不要将它们存储在平面文件(可能是xml?)上,而不是使用像sqlite这样的数据库。否则搜索或列出的操作会很痛苦。
但不知道适合的网站。
编辑;我找到了ChartLyrics API;你可以轻松使用他们的API。
答案 1 :(得分:2)
通常,
1)下载该歌词并将其存储在数据库中的单独表格中
表格:歌词(示例)
+---------+-------------+-----------------+-------------------------------+
| lyr_id | lyr_artist | lyr_title | lyr_content |
+---------+-------------+-----------------+-------------------------------+
| 1 | Metallica | The Unforgiven | New blood joins this earth... |
+---------+-------------+-----------------+-------------------------------+
...
+---------+-------------+-----------------+-------------------------------+
2)搜索专栏lyr_artist
中的艺术家,专栏lyr_title
中的歌曲标题,文字(关键字)在lyr_content
等等
查询示例
SELECT * FROM lyrics WHERE lyr_artist='artist';
SELECT * FROM lyrics WHERE lyr_title='song_title';
SELECT * FROM lyrics WHERE lyr_content LIKE '%word1%' AND lyr_content LIKE '%word2%'
嗯,通常,类似的东西..或混合WHERE条件。您可以使用WHERE ... LIKE到歌曲标题和艺术家等列,例如,如果用户要求输入关键词“Unforgiven”等,则可以找到歌曲“The Unforgiven”。
3)使用查询结果显示搜索结果
注意:在速度方面,将数据存储在服务器上的文件中并不如将其存储在数据库中那么好。