자유 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[정보] 검은사막에 사용한 총금액을 알아보자(글씨짤려서 재수정..)

민트민트티
댓글: 56 개
조회: 12585
추천: 39
2024-09-26 10:49:50
안녕하세요 검은사막 몇 년간 해오면서 사용한 총금액을 알아보고자 합니다.
24년 1월 1일 이후로 검은 사막 홈페이지에서 모든 정보 조회가 가능하다는 문의 답변을 받고
일일이 더하기 귀찮아 구현한 자바스크립트 코드입니다. 
(동일명의 아이디전부 조회됩니다)
(카카오 서비스는 조회안된데여~)

[사용법]
1. 검은 사막 홈페이지 로그인을 한다.
2. 프로필 아이콘에 마우스를 올린 후 [계정정보]로 들어갑니다.
3. [구매'사용 내역] 에 들어간 후 F12를 눌러 개발자도 구를 켜주세요 

3 까지 하신 후 아래 이미지와 같이 Console 탭을 열어주세요




해당문구가 뜨신다면 콘솔창에 allow pasting을 입력후 엔터 눌러주세요.

let startYear = 2014;
let endYear = 2024;
let total = 0;

const today = new Date();
const todayYear = today.getFullYear();
const todayMonth = String(today.getMonth() + 1).padStart(2, '0');
const todayDate = String(today.getDate()).padStart(2, '0');
const endDateFormatted = `${todayYear}.${todayMonth}.${todayDate}`;

async function fetchAmountsForYear(year) {
    let yearTotal = 0;
    let page = 1;
    let hasNextPage = true;

    while (hasNextPage) {
        const startDate = `${year}.01.01`;
        const endDate = year === todayYear ? endDateFormatted : `${year}.12.31`;
        const baseUrl = `?startDate=${startDate}&endDate=${endDate}&Page=${page}`;
        const response = await fetch(baseUrl);
        const text = await response.text();
        const parser = new DOMParser();
        const doc = parser.parseFromString(text, 'text/html');

        var emptyMessageCell = doc.querySelector('td.empty');
        if (emptyMessageCell && emptyMessageCell.textContent.trim() === '해당이력이 없습니다.') {
            console.log(`년도 ${year}에 해당 이력이 없습니다. 다음 년도로 진행합니다.`);
            return null;
        }

        const amounts = doc.querySelectorAll('td.amount');
        amounts.forEach(amount => {
            const value = parseInt(amount.textContent.replace(/,/g, ''), 10);
            if (value > 0) {
                yearTotal += value;
            }
        });

        
        const nextButton = doc.querySelector('a.btn_arrow.next');
        hasNextPage = nextButton !== null;
        page++;
    }

    return yearTotal;
}


async function fetchAllAmounts() {
    for (let year = startYear; year <= endYear; year++) {
        const yearTotal = await fetchAmountsForYear(year);
        if (yearTotal !== null) {
            total += yearTotal;
            const formattedYearTotal = yearTotal.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
            console.log(`${year}년의 총 금액: ${formattedYearTotal}원`);
        }
    }

    const formattedTotal = total.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
    console.log("지금까지 사용한 총 금액 :", formattedTotal + "원");
}

fetchAllAmounts();




위코드 복사후 콘솔창에 넣고 실행하시면 지금까지 얼마를 검은사막에 사용하였는지 나옵니다.

Lv12 민트민트티

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 검사
  • 게임
  • IT
  • 유머
  • 연예
AD