稍研究了下.
首先思路是正确的.但是,搜索引擎出来的结果往往不尽人意.
而且,像百度那样的搜索引擎,用getLink方法除了可以得到结果页以外,还会得到其它想阿里巴巴,eBay,通用易趣一大堆无关的链接,因为函数寻找的是href的位置.另外,假如某天有一首歌叫a href的话,结果就不堪设想了.不知道找到<a以后,会是个什么结果.
有歌词不对的按钮存在可能一定程度上解决这个问题.另外,split("快照")能不能起作用,我还不能确定.
但另一方面,用[ti:+keyWord]的办法搜索,可能会错过了很多有用的页面.现在很多歌词文件都没添加这个标签的.
看下openLRCPage函数,它以[ti:+keyWord]作为歌词开头的标记.本来想这个做法是非常完美的.想不到随便试了个就出问题.
我直接在百度主页里搜索"想唱就唱"这首歌的歌词,发现只有第一页是有标准的LRC结构在里面的.
http://www.angelsyblog.com/blog/user1/704/archives/2005/3642.htm如果用getLRC和findEndTag函数获取歌词的话,结果将是中间有一段播放器插件的代码.
而且,以"]"作为结束标记在LRC里可用,但是在网页里,这种做法的可靠性不高,但是也没办法.似乎不这么做也没好的解决方案.
我于是想到用KeyWord+".lrc"的办法,在百度里直接测试,发现效果好像不错,能搜索到很多很干净的页面(就是基本上只有lrc内容,没有其它东西),而且发现,有些页面本来包含[ti:+KeyWord]的,但是就不能在[ti:+KeyWord]里搜出来(可能是数据库里动态生成的吧,才让结果出不来).不过lrc好像有别的含义,导致有时搜出一些跟歌词无关的网页,结果还要排在很前.
而且,有些网站喜欢把几个歌词文件放在同一页面,导致分析难度增大.
不过,有些网站可以直接下载lrc,在openLRCPage以后,再执行一个函数,用href和lrc两个字符串联合找到lrc的地址.但是进去以后才发现,还需要多级链接才能找到lrc所在,跟其它网站一起,搜起来也特别困难.哪怕技术问题解决了,也无法减轻服务器的负担.
另外,lrc文件存在安全性问题和支持问题,导致有些网站不能在网上直接访问lrc,从而降低了这种做法的可行性.
为此,我找了一些专业的歌词网站,像
http://www.rixiu.comhttp://www.51lrc.com发现从这里找出来的页面很有保证,起码分析起来不容易出问题.
不过作为小网站,它是否可用不敢保证,像rixiu网站就改版了,中间还有跳转.导致也不能用.
51lrc出来的是lrc文件,会有安全性和支持性等问题.
而且这种做法的搜索范围远小于百度,这也是用专业歌词网站搜索的一个不足.
所以,发现虽然有了思路,但还是很多问题没法解决.