JavaScript

유튜브 재생목록에서 총 시간과 남은 시간 구하기 - JavaScript

2020. 7. 3. 17:17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
clear();
(function getTotalHours() {
    var totalHours = 0;
    var ar = document.querySelectorAll("#thumbnail-container #thumbnail " + 
"#overlays span.style-scope.ytd-thumbnail-overlay-time-status-renderer");
    
    var min = 0;
    var sec = 0;
    for(var i = 0; i < ar.length; i++) {
        min = min + parseInt(ar[i].innerText.split(":")[0]);
        sec = sec + parseInt(ar[i].innerText.split(":")[1]);
    }
    totalHours = (min+sec/60)/60;
    var u = 1/100;
    totalHours = Math.round(totalHours/u)*u;
    console.log( "총 재생시간은 " + totalHours +"시간 입니다.");
})();
(function getHoursLeft() {
    var totalHours = 0;
    var ar = document.querySelectorAll("#thumbnail-container #thumbnail " + 
"#overlays span.style-scope.ytd-thumbnail-overlay-time-status-renderer");
    var index = document.querySelector('#publisher-container span.style-scope.yt-formatted-string').innerText;
    var min = 0, sec = 0;
    for(var i = index-1; i < ar.length; i++) {
        min = min + parseInt(ar[i].innerText.split(":")[0]);
        sec = sec + parseInt(ar[i].innerText.split(":")[1]);
    }
    totalHours = (min+sec/60)/60;
    var u = 1/100;
    totalHours = Math.round(totalHours/u)*u;
    console.log( "남은  재생시간은 " + totalHours +"시간 입니다.");
})();
Colored by Color Scripter
cs

 

 

 

 

 

 

사용 방법은 재생목록을 켜놓은 상태에서 F12를 눌러 개발자도구를 켠 다음,

console 창에서 위 명령어를 복붙하면 된다.

JavaScript를 공부하면서 처음으로 실사용을 위한 무언가를 만든 것이 이것이다.

querySelector, innerText, split, Math.round를 활용했다.

 

 

 


이하는 2022.01.27 추가분입니다.

clear() 메소드가 크롬 콘솔에서 인식되지 않으면서 clear is not a function 오류가 발생했습니다.
관련 레퍼런스를 찾지는 못했는데, console객체의 clear펑션으로 명시하니 정상 동작하더라고요.
아무래도 console객체를 명시하지 않으면 안되도록 변경된 것 같습니다.

결론적으로

  • 기존 코드에서 clear 펑션을 지우거나,
  • clear();를 console.clear(); 로 수정해서 사용하시거나,
  • 아래의 코드를 사용하시면 됩니다.

 

console.clear();
(function getTotalHours() {
    var totalHours = 0;
    var ar = document.querySelectorAll("#thumbnail-container #thumbnail " + 
"#overlays span.style-scope.ytd-thumbnail-overlay-time-status-renderer");
    
    var min = 0;
    var sec = 0;
    for(var i = 0; i < ar.length; i++) {
        min = min + parseInt(ar[i].innerText.split(":")[0]);
        sec = sec + parseInt(ar[i].innerText.split(":")[1]);
    }
    totalHours = (min+sec/60)/60;
    var u = 1/100;
    totalHours = Math.round(totalHours/u)*u;
    console.log( "총 재생시간은 " + totalHours +"시간 입니다.");
})();
(function getHoursLeft() {
    var totalHours = 0;
    var ar = document.querySelectorAll("#thumbnail-container #thumbnail " + 
"#overlays span.style-scope.ytd-thumbnail-overlay-time-status-renderer");
    var index = document.querySelector('#publisher-container span.style-scope.yt-formatted-string').innerText;
    var min = 0, sec = 0;
    for(var i = index-1; i < ar.length; i++) {
        min = min + parseInt(ar[i].innerText.split(":")[0]);
        sec = sec + parseInt(ar[i].innerText.split(":")[1]);
    }
    totalHours = (min+sec/60)/60;
    var u = 1/100;
    totalHours = Math.round(totalHours/u)*u;
    console.log( "남은  재생시간은 " + totalHours +"시간 입니다.");
})();

 

 

'JavaScript' 카테고리의 다른 글

24시간 간격 방문 카운트 구현 : 쿠키, 정규식, navigator.userAgent  (0) 2020.10.04
모바일 메뉴 열기 닫기  (2) 2020.10.02
기초적인 XSS 대응  (0) 2020.10.01
Sweet Alert2 와 KakaoMap API 활용  (0) 2020.09.07
정규표현식으로 이메일 형식 검증하기 in JavaScript  (0) 2020.07.06
'JavaScript' 카테고리의 다른 글
  • 모바일 메뉴 열기 닫기
  • 기초적인 XSS 대응
  • Sweet Alert2 와 KakaoMap API 활용
  • 정규표현식으로 이메일 형식 검증하기 in JavaScript
리차드
리차드
리차드
화음을 좋아하는 리차드🎶
리차드
전체
오늘
어제
  • 전체 게시글 보기 (200)
    • Portfolio (0)
    • Thoughts & Records (17)
    • 우아한테크코스 4기 (43)
    • Java & Spring (36)
    • JPA & QueryDSL (2)
    • Database (18)
    • Server & Infra (21)
    • Network (0)
    • Algorithm (11)
    • IDE (12)
    • HTML & CSS (4)
    • JavaScript (11)
    • Life (13)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • 오라클
  • 웹 백엔드 4기
  • git
  • javascript
  • 화음을 좋아하는
  • oracle
  • 자바스크립트
  • 우테코
  • Spring
  • 리차드
  • EC2
  • SQL
  • java
  • aws
  • 스프링
  • 알고리즘
  • IntelliJ
  • 자바
  • 스프링부트
  • 우아한테크코스

최근 댓글

최근 글

hELLO · Designed By 정상우.
리차드
유튜브 재생목록에서 총 시간과 남은 시간 구하기 - JavaScript
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.