1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2022-10-02 01:20:48 +08:00
parent 3e1ef431a7
commit 2ff2758fc8
7 changed files with 43 additions and 119 deletions

View File

@@ -44,8 +44,7 @@ async function test() {
* 主函数
*/
async function main() {
console.log("neteaseMusic Starting...");
console.log("neteaseMusic Start fetch ...");
while (true) {
// 删除脏数据
var affectRows1 = await dbUtils.query(`DELETE FROM song_artist_relation WHERE song_id = 0 OR artist_id = 0`, []);
@@ -64,35 +63,17 @@ async function main() {
* 数据更新 (重新爬取)
*/
async function update() {
console.log("neteaseMusic update ...");
let sleepTime = 100;
// 从数据库中查出现有专辑,并进行更新
console.log("start fetching albums ...")
let albumIds = await dbUtils.query(`
SELECT DISTINCT album_id FROM album WHERE version = 1 -- and description like '%专辑《%》,简介:%'
`, []);
albumIds = albumIds.map(item => item.album_id);
for (let i = 0; i < albumIds.length; i++) {
await checkIsExit();
const albumId = albumIds[i];
console.log(`${i}/${albumIds.length} | album: ${albumId} | ${await statistics()}`);
try {
await albumInfoUtils.update({ albumId: albumId });
} catch (err) {
console.error(err);
}
await sleepUtils.sleep(sleepTime);
console.log("neteaseMusic Start update ...");
while (true) {
await albumInfoUtils.fetchAll({ isUpdate: true });
await sleepUtils.sleep(2000);
}
}
/**
* 统计数据库中数据
*/
updateStatisticsResult();
setInterval(updateStatisticsResult, 1000);
async function updateStatisticsResult() {
async function watch() {
let sql = `
SELECT
song_count,
@@ -142,7 +123,7 @@ async function updateStatisticsResult() {
let songAlbumCount = result[0].song_album_count;
let songArtistCount = result[0].song_artist_count;
global.statistics = [
let statisticsString = [
`song: ${songCount}/${songCount + songWaiting}`,
`album: ${albumCount}/${albumCount + albumWaiting}`,
`artist: ${artistCount}/${artistCount + artistWaiting}`,
@@ -150,6 +131,7 @@ async function updateStatisticsResult() {
`songAlbum: ${songAlbumCount}`,
`songArtist: ${songArtistCount}`
].join(', ');
console.log(statisticsString);
}
/**
@@ -170,5 +152,6 @@ global.checkIsExit = async function () {
module.exports = {
main: main,
update: update,
watch: watch,
test: test,
}