자유게시판은 글 올라오는 속도가 너무 빨라 못 보시는 분들이 많을까봐 팁게에 다시 작성합니다.

===================================================================

안녕하세요.

이때까지 내가 넥슨에 얼마 썼는지 알아 보는법을 공유하려 합니다.

이전에 다른분들께서 넥슨에 얼마 썼는지 알아보는법을 공유 하셨는데 거기서 조금더 보기 좋게 수정한거라고 보시면 될거 같습니다.


시작해보겠습니다!



2. f12 또는 ctrl + shift + c 를 눌러 개발자모드 > 콘솔 탭 클릭


3. 아래 첨부한 코드 입력후 엔터

빨간 부분은 본인명의 다른 계정에 사용한 과금액을 포함하는 코드입니다.

현재 계정의 과금액만 보고 싶은 경우에는 삭제하시면 됩니다.


let totalData = {};


function getData(data, year) {

    let parser = new DOMParser();

    let doc = parser.parseFromString(data, "text/html");

    let scripts = doc.querySelectorAll("script");

    scripts.forEach(script => {

        if (script.textContent.includes('var data1 = [')) {

            let dataString = script.textContent;

            let dataRegex = /var data1 = \[([\ds,]+)\];/g;

            let match = dataRegex.exec(dataString);

            if (match) {

                let arr = match[1].split(',').map(Number);

                totalData[year] = totalData[year] || [];

                totalData[year].push(...arr);

            }

            start = dataString.indexOf('var data2 = [');

            end = dataString.indexOf('var option');

            arr = dataString.substring(start + 13, end - 8).split(',');

            totalData[year].push(...arr.map(Number));

        }

    });

}


async function fetchData(year, month) {

    const response = await fetch(`https://member.nexon.com/cash/chargelist.aspx?pageno=1&pagecode=1&year=${year}&month=${month}`);

    const data = await response.text();

    getData(data, year);

}


async function processtotalData() {

    await fetchData('2019', '12');

    for (let i = 2019; i <= 2024; i++) {

        await fetchData(i, '1');

    }    

    let totalSum = 0;

    let alertMessage = '';


    for (const year in totalData) {

    let sumCash = totalData[year].reduce((sum, value) => {

        return sum + value;

    }, 0);

    alertMessage += `${year}  결제 금액: ${sumCash.toLocaleString()}원\n`;

    totalSum += sumCash;

}

    alertMessage +=  `\n모든 연도의  결제 금액: ${totalSum.toLocaleString()}`;

    alert(alertMessage);

}


processtotalData();



4. 마무리



생각보다 현질을 꽤 했다는걸 알수가 있군요..


아무튼 이런식으로 연도별로 과금액을 알수 있게 구분해놨습니다.






현재 24년도 기준 최대 5년전 기록까지 볼수 있기 때문에 시간이 지나도 년도만 맞게 바꿔주면 계속해서 확인할 수 있습니다.


코드는 제 입맛대로 수정한거라.. 혹시나 고수분들 한번씩 보시고 수정했으면 하는 부분있으면 댓글 남겨주세용