所以我想從歌詞網站索引歌詞,然後對歌詞進行操作(搜索某些藝術家,術語,模式等)。索引一個音樂歌詞數據庫
我想最好的情況是,如果已經有一些結構化的文件格式供我使用 - >任何人都知道這樣的事情是否存在?
下一個最好的事情將是一個網站,「可以」我想要做什麼 - >任何這樣的網站?
有關我如何快速完成此任務的一般意見? (這應該是一個有趣的項目,而不是重型應用)
謝謝!
所以我想從歌詞網站索引歌詞,然後對歌詞進行操作(搜索某些藝術家,術語,模式等)。索引一個音樂歌詞數據庫
我想最好的情況是,如果已經有一些結構化的文件格式供我使用 - >任何人都知道這樣的事情是否存在?
下一個最好的事情將是一個網站,「可以」我想要做什麼 - >任何這樣的網站?
有關我如何快速完成此任務的一般意見? (這應該是一個有趣的項目,而不是重型應用)
謝謝!
從網站下載歌詞數據庫不是個好主意,你可以查詢每個你想要的歌詞。
即使你下載了所有歌詞,也不要將它們存儲在平面文件(也許是xml?)上,而不是像sqlite那樣使用數據庫。否則,像搜索或列表這樣的操作將會很痛苦。
但沒有關於可站點的想法。
編輯;我發現ChartLyrics API;您可以輕鬆使用他們的API。
一般來說,
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)使用查詢結果顯示搜索結果
注:在服務器上的文件中存儲的數據並不像它存儲在數據庫中,在速度方面爲好。
我也有興趣做這樣的事情。你有沒有得到它的任何地方? – Tanj 2011-10-19 02:19:49