- 首先我是爬虫获取的酷我的音源,因此歌词也是通过爬虫获取的,下面这个方法可以获取到歌曲对应的歌词信息。简单说下,在搜索歌曲之后会返回一个歌曲列表,查看源代码是包含在li标签里面的,这个li标签里面就有请求播放页面的地址,拿到这个地址请求单个歌曲页面播放的时候响应的html里面的js就包含了歌词信息,然后大致是var lrcList = [{"time": "1.8","lineLyric": "九张机-(网剧《双世宠妃》主题曲) - 叶炫清 "}这种格式的,我将每一时间段歌词转换为KuwoLyric对象:
public List<KuwoLyric> getLyric(KuwoLiLabel label) {
String url = null;
if (StringUtil.isEmpty(label.getNewPlayUrl())) {
if (StringUtil.isEmpty(label.getOldPlayUrl())) {
throw new MarsException("获取不到播放页面的url地址!");
}
url = label.getOldPlayUrl();
} else {
url = label.getNewPlayUrl();
}
HttpGet get = new HttpGet(url);
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = null;
try {
response = client.execute(get);
String lrcHtml = EntityUtils.toString(respo