diff --git a/netease_music/src/getInfo/songInfoUtils.js b/netease_music/src/getInfo/songInfoUtils.js index 424e963..829ebae 100644 --- a/netease_music/src/getInfo/songInfoUtils.js +++ b/netease_music/src/getInfo/songInfoUtils.js @@ -92,6 +92,89 @@ async function fetch({ songIdArray, debug = false }) { await dataManager.song.insertCollection(songInfoList); // image 因为接口没有返回,所以不更新 } +// 获取音乐详情 +async function fetch_old({ songId, debug = false }) { + let result = await dbUtils.query('SELECT count(*) as count FROM song WHERE song_id = ?', [songId]); + if (result[0].count > 0 && !debug) { + console.log(`数据库中已有数据,跳过 songId: ${songId}`); + return; + } + + let url = `https://music.163.com/song?id=${songId}`; + try { + // var html = fs.readFileSync(path.join(__dirname, "../../temp", `song-${songId}.html`), 'utf8'); + var html = await requestUtils.getApiResult(url); + // fs.writeFileSync(path.join(__dirname, "../../temp", `song-${songId}.html`), html); + } catch (errors) { + console.error(errors); + return; + } + + if (html.includes(`
很抱歉,你要查找的网页找不到
`)) { + let deleteResult1 = await dbUtils.query('DELETE FROM song_album_relation WHERE song_id = ?', [songId]); + let deleteResult2 = await dbUtils.query('DELETE FROM song_artist_relation WHERE song_id = ?', [songId]); + console.log(`song: ${songId} 不存在,从song_album_relation, song_artist_relation表中删除. affectedRows: ${deleteResult1.affectedRows}, ${deleteResult2.affectedRows}`); + return; + } + + // 正则匹配 + let regExResult = /\