연재를 이어서 하겠다고 나서주신 분이 계시더라구요 넘 감사합니다 ㅠ ㅠ

 오지랖 일 수도 있겟지만, 간단하게 제가 하던 루틴들을 올려봐요

 도움이 되었으면 좋겠어요





24b0d121e09c28a8699fe8b115ef0464d08de0c1e0



 먼저 신곡들을 발굴해줍니당


 창팝텝에는 신곡 뿐만 아니라 재홍보글도 많이 올라오기 떄문에, 게시글 내용들을 잘 읽어보고

 올려주신 곡들도 들어보면서 찾았어요.


 찾아낸 곡들은 분류해서 일반 창팝은 오른쪽 위 탭에 모아주고, 개사곡은 오른쪽 아래 탭.

 그 외의 항팝이나 건드림, 타 겜 ai곡은 왼쪽 모니터에 탭을 하나 더 열어서 모았습니다



 

24b0d121e09c28a8699fe8b115ef046f59499996a8


 그 다음 할 일은 플리 정리/검토 그리고 추출!


곡을 다 발굴해냇으면 모조리 오늘의 플리에 담아주고, 한번 더 날짜순 정렬을 통해 검사해줍니다


그리고 

YouTube Advanced Playlist Export - Chrome Web Store

Export detailed information from YouTube playlists in various formats.

chromewebstore.google.com


 이 크롬 확장프로그램을 사용해서 저 플리를 csv 파일로 추출해줘요


 (SAVE to CSV) 이걸 눌러줍니다


24b0d121e09c28a8699fe8b115ef046a7d68eb

 다운로드 폴더에 요런 파일이 생길거에요! 이걸 가지구 그대로 시트로 갑니다



24b0d121e09c28a8699fe8b115ef046b6a6b923e



24b0d121e09c28a8699fe8b115ef046c64f9284f

하면 이런 창이 뜨는데 가져오기 위치를 ' 선택한 셀에서 데이터 바꾸기 '로 해줍니다



  ↓

24b0d121e09c28a8699fe8b115ef046c65f12d4c94


 결과물 짜잔~

여기서 노출하고 싶은 데이터만 남기구 잔가지를 쫙 쳐줘용



24b0d121e09c28a8699fe8b115ef046f584c9a9da8

  표는 직접 만들지 않고 '필터 만들기' 기능을 사용해줍니다


 

24b0d121e09c28a8699fe8b115ef046f594a989e

그럼 요 + 버튼을 통해 손쉽게 정렬 할 수 있어요



 일간 신창섭 시트는 작업 편의성을 위해서 아주 간단한 함수도 사용하고있어요


먼저 오늘 몇곡의 창팝이 나왓는지 알려주는 D3 셀에는 =COUNTA(B6:B927)


24b0d121e09c28a8699fe8b115ef0468e1a2ed

따로 수정할 필요가 없어져용



  그리고 총정리 탭!


24b0d121e09c28a8699fe8b115ef046c67f6284f


 총정리탭은 하나하나 다 입력하지않고 ='탭 이름'!셀번호 << 이걸 사용해서 불러와줬어요

이렇게 해두면 변동사항이 있을 때 해당 탭만 수정하면 됩니당. 총정리 탭도 같이 수정돼요 - 연동이됨

+총정리 탭도 표를 직접 만들지 않고 필터만들기를 사용해용


만약 12/01 탭의 목록들을 가지고 오고 싶다면

 총 정리 탭 b2열의 가장 아래에

 

24b0d121e09c28a8699fe8b115ef0469973ff1

요렇게 써주고 


24b0d121e09c28a8699fe8b115ef046b6c6994


오른쪽으로 쭉 끌어주면?



24b0d121e09c28a8699fe8b115ef046ecd49ca

짜잔~ 


 이걸 또 밑으로 쭉 끌어내리면


24b0d121e09c28a8699fe8b115ef0464d28ee1c8

 정리 끝입니다



 그리구 하나 더 제가 G열을 비워두신게 보일텐데,

이건 총정리텝에서 조회수를 한번에 불러오려구 비워둔거에요


스프래드 시트 확장프로그램을 썼는데

상단 메뉴 '확장 프로그램' -> 'Apps Script'로 들어가면 간단한 크롤링을 할 수 있어요



24b0d121e09c28a8699fe8b115ef046f584b909aae


요건디 구글 api 키가 필요합니당


입력하구 


24b0d121e09c28a8699fe8b115ef046544aff8

이 두 함수를 위에서부터 차례대로 실행해주면 

G열에 현시각의 조회수가 입력돼용


function getYouTubeViews(videoUrl) {
    var apiKey = "여기에 API 키!!";  // 발급받은 API 키를 여기에 입력하세요

    // URL에서 YouTube 비디오 ID 추출
    if (videoUrl && videoUrl !== "") {
        var videoId = videoUrl.match(/(?:https?:\/\/)?(?:www\.)?youtu(?:be\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|\.be\/)([a-zA-Z0-9_-]{11})/);
        if (videoId && videoId[1]) {
            videoId = videoId[1];
        } else {
            return "Invalid URL";  // 유효하지 않은 URL일 경우 메시지 반환
        }
   
        // YouTube API 호출하여 조회수 가져오기
        var url = `https://www.googleapis.com/youtube/v3/videos?part=statistics&id=${videoId}&key=${apiKey}`;
        var response = UrlFetchApp.fetch(url);
        var json = JSON.parse(response.getContentText());
   
        // 조회수 추출 및 반환
        var viewCount = json.items[0] ? json.items[0].statistics.viewCount : "No Data";
        return viewCount;
    } else {
        return "Invalid URL";  // URL이 빈 값인 경우 처리
    }
}

function updateViewCounts() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var videoUrls = sheet.getRange("F2:F").getValues();  // F열의 URL 목록 가져오기

    for (var i = 0; i < videoUrls.length; i++) {
        var videoUrl = videoUrls[i][0];  // F열의 URL 가져오기
       
        // F열의 셀이 비어있는지 확인
        if (videoUrl && videoUrl !== "") {  // URL이 유효한 경우에만 조회수 가져오기
            try {
                var viewCount = getYouTubeViews(videoUrl);
                sheet.getRange(i + 2, 7).setValue(viewCount);  // G열에 조회수 입력
            } catch (e) {
                sheet.getRange(i + 2, 7).setValue("Error");  // 오류 발생 시 'Error' 출력
            }
        } else {
            sheet.getRange(i + 2, 7).setValue("");  // F열에 URL이 없으면 G열도 비워둠
        }
    }
}



 두번쨋줄에 발급받으신 api키만 넣으시면 작동할거에요 아마두..


해당 스크립트를 사용하면 총정리 탭에서 조회수도 확인할 수 있고, 어떤 곡들이 비공개 되엇는지도 볼 수 있습니다 ( No data라고 뜸)


  매일 연재를 하면서 제 에고를 담지 않으려고 최대한 노력했습니다. 

 그게 젤 중요하다고 생각했어요. 모든 곡들과 프로듀서님들에게 공평하게,

 저의 사심이 전혀 들어가지 않고 연재할 수 있도록 신경 썼던 것 같네용 뻘글두 자제하구

  




-----------------------------------------------------



  어제 폐간공지에 해주신 인사들 좀전에 챙겨봤습니다 하나하나 다 답하지 못해서 죄송하네요

  다들 배웅하러 나와주셔서 넘 감동이었어요

              "사랑조차 영원하지 않은 세상에서, 그 무엇이 불멸을 말할 수 있으리"


   리부띠에서 비숍을 플레이하던 시절의 마음으로, 사람들에게 뭔가 도움이 될만한 일을 할 수 있을까?

 하고 찾아보다가 시작하게 된 연재인데.. 이런게 의미가 있을까? 하던 처음의 걱정과는 다르게

 다들 좋아해주시고 챙겨들어주셔서 하루하루가 뿌듯하고 보람찼습니다


메린아

  마치 뉴비들 진듄더슬 데려가서 여명 먹여줬을때, 방방 뛰면서 좋아하던 그런 모습을 보는 기분이었어요



 글이 자꾸 길어지네용 ㅋ ㅋ 하고 싶은 말들이 쌓여있었나봐요


 정말 안녕




14