영어공부를 해볼려고 나의 잉글리쉬 맘 레이첼의 동영상을 다운받기로 했다.
영상보는건 그냥 유튜브에서 봐도 되는데 발음이 잘 안돼는 구간은 반복구간을 지정해놓고 연습해야 하기 때문이다.
영상이 무려 800개가 넘기 때문에 일일이 다운받기는 좀 그렇고 파이썬의 힘을 빌리기로 했다.
영상을 다운받는건 굉장한 집중력이 필요한데 '유튜브 동영상 다운로드 python' 처럼 적절한 키워드를 넣는 능력과 수많은 결과물 중에서 나에게 딱 맞는 솔루션을 찾기 위한 혜안이 필요하다.
그렇게 난 첫번째 결과물을 조심스레 C&P 기술을 통해 Vim에다가 조심스레 올려놓는다.
주소만 고쳐 넣으면 드디어 유튜브를 다운받을 수 있는 기술을 익힐 수 있다.
마찬가지로 동영상 정보를 엑셀에 저장하는 것도 흡성대법(타인의 기를 흡수하는 방법)으로 익힌다.
def readExcel():
try:
df = pd.read_excel('content.xlsx', skiprows=1, usecols='C', engine='openpyxl')
print(df)
list(map(lambda data: print(data), df))
800개가 넘는 영상 링크를 불러와 하나씩 다운받는 것인데 'print(df)'를 보면 링크주소가 잘 나온다.
문제는 'print(data)'를 하면 맨 윗줄인 'link' 한 줄만 나온다.
지금 생각하면 당연한건데 처음에는 'df'에 데이터가 다 있는데 왜 리스트 한 줄 밖에 안나올까 하고 한참을 씨름했다.
[833 rows x 1columns]를 보고 깨달았다.
'아, 2차배열이구나!'
만약 아래와 같은 데이터를 출력했다면 'print(data)'를 했을때 'A, B, C, D, E..' 이렇게 나와서 금방 깨달았을텐데
link, title, date, views, time...
A , B, C, D, E...
1, 2, 3, 4, 5.....
a, b, c, d, e.....
이렇게 행의 첫번째 데이터만 출력되다보니 나도 모르게 1차배열 리스트라고 생각한 것이다.
A
1
a
사실 엑셀자체가 2차배열이라 조금만 더 생각했으면 금방 알 수 있었을텐데 출력한 데이터만 보다보니 시야가 좁아졌다.
def readExcel():
try:
df = pd.read_excel('content.xlsx', skiprows=1, usecols='C', engine='openpyxl')
linkLine = df['link']
list(map(lambda data: print(data), linkLine))
엑셀에 이름이 link인 열을 선택, 리스트에 넣는 건지 어쩌는 건지는 잘 모르겠고..
'print(data)' 대신 'YoutubeDownload(data)' 펑션을 넣어주면 끝!
이제 저장할때 제목의 포맷만 정해주면되는데....
'코딩' 카테고리의 다른 글
파이썬 Selenium 업그레이드에 따른 문법 변경 (0) | 2023.01.25 |
---|---|
다운로드 동영상 이름 바꾸기 (0) | 2023.01.16 |
Windows에서 Vim 꾸미기 (0) | 2023.01.10 |
Windows, Python, Vim = 성공적 (0) | 2023.01.09 |