C언어로 만든 Youtube 플레이리스트 추출 프로그램이다.
유튜브를 볼 때 다음 그림과 같이 여러개의 Video 리스트가 뜨는 경우가 있는데
이를 플레이 리스트라 한다. 이 Playlist를 C 언어를 사용해서 추출하는 방법을 알아 보고자 한다.

1) 화면의 빈 곳에서 우클릭을 한 후 "페이지 소스 보기"를 클릭한다.

2) 그러면 아래와 그림과 비슷한 창이 열릴 것이다. 여기서 전체 텍스트를 선택한 후 Ctrl + C 를 누른다.

3) test.txt 라는 문서를 만들고, Ctrl + V 를 누른 후 저장한다.
4) 아래 프로그램을 컴파일 한다. (이 때 실행 파일 이름을 txt2PlayList.exe 라고 지정한다.)
#include <stdio.h>
#include <string.h>
int main() {
int c; char tmp[214800]; //16585
int i =0;
while( ( c = fgetc(stdin) ) != EOF ) {
tmp[i++] = c;
if(c == 34 ) {
tmp[i]= 0; if( strstr(tmp, "u0026index=") ) { printf("https://www.youtube.com"); puts(tmp); } i = 0;
}
}
tmp[i]= 0; if( strstr(tmp, "u0026index=") ) { printf("https://www.youtube.com"); puts(tmp); }
return 0;
}
5) txt2PlayList < test.txt > list.txt 라는 명령어를 Console 창에 입력한다.
6) list.txt 를 열어보면 다음 그림과 같을 것이다.

7) 이 중에서 빨간색 네모 부분만 남기고 다른 부분은 지우면 Playlist가 추출 작업이 완성된다.
**********************************
updated program: 좀더 편리하게 업데이트 되었다. 아래의 프로그램을 사용하면, 위 사진에서 노란색으로 표기된 부분은
출력되지 않는다.
**********************************
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
// check if string is a number, returns an integer.
// returns 0 if it the string is not number
int is_num( char str[] ) {
char *p = str;
int dotcnt = 0;
while( *p ) {
if( !isdigit( *p ) && *p!='.' )
return 0;
if( *p == '.' && ++dotcnt > 1 )
return 0;
p++;
}
return atoi( str );
}
int main() {
char *p;
int num = 0;
int sav = 0;
int c; char tmp[214800]; //16585
int i =0;
while( ( c = fgetc(stdin) ) != EOF ) {
tmp[i++] = c;
if(c == 34 ) {
tmp[i-1]= 0x00;
if( (p = strstr(tmp, "u0026index=")) ) {
if( (num = is_num( p + 11 )) ) { /* if it's number */
if( num - sav < 0 ) break; /* if the number decreases, get out of the loop */
printf("https://www.youtube.com%s\n",tmp);
sav = num;
}
}
i = 0;
}
}
return 0;
}
위의 프로그램을 사용하여 List를 추출한 다음에 아래 링크이 파이썬 프로그램을 이용하여
실제로 다운로드 받는다.
https://green-tree-program.tistory.com/111
파이썬으로 유튜브 동영상 연속으로 받기
# -*- coding: utf-8 -*- import sys import pytube lst = ''' https://www.youtube.com/watch?v=iFyVb5pM0ec&list=PL-NHXz46zx-XuVNOjrBYFV0E8pz-RKtH5&index=97 https://www.youtube.com/watch?v=sjN3yak9S2M&list=PL-NHXz46zx-XuVNOjrBYFV0E8pz-RKtH5&index=98 https://www
green-tree-program.tistory.com
'C 언어' 카테고리의 다른 글
| C언어로 만든 간단한 개인프로젝트 (1) | 2021.09.18 |
|---|---|
| C언어에서 조건부 컴파일 하기 (0) | 2021.09.18 |
| C 언어로 string Replace 함수 만들기 (2) (0) | 2021.09.09 |
| C언어로 만든 코드 들여쓰기 프로그램 (0) | 2021.09.01 |
| C 언어로 간단한 게임 만들기 (0) | 2021.08.16 |
댓글