update
This commit is contained in:
		@@ -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,
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user