iPhone으로 youtube를 다운로드하는 앱 만들어 보았다【pythonista3】

pythonista3라는 iPhone에서 python을 할 수있는 앱이 있습니다.
Pythonista3: htps: //언제나 s. 아 ぇ. 이 m/jp/아니 p/py 쭉 s타-3/이 d1085978097? mt=8
에디터로서도 우수하고 왜 애플이 허가했는지 모르는 대단한 대물입니다.
이번에는 이 pythonista 단독으로 youtube에서 mp4와 m4a를 다운로드하는 앱을 만들고 싶습니다.

환경



pythonista3 == 3.2


StaSh 및 youtube_dl 다운로드



이 앱은 youtube_dl이라는 것을 다운로드하기 위해 pip 명령을 사용하지만 pythonista3을 넣은 경우에는 사용할 수 없습니다.
그래서 Stash라는 쉘을 추가합니다.
이름은 Pythoni_sta Sh_ell을 약칭했다고합니다.
먼저 pythonista 콘솔에서 다음을 입력합니다.
import requests as r; exec(r.get('http://bit.ly/get-stash').text)

그러면 launch_stash.py가 생성됩니다.


그리고 오른쪽 상단의 RUN 버튼 ▶을 누르면 쉘이 시작됩니다.


여기 pip install youtube_dl를 치면 모듈에 youtube_dl 다운로드가 시작됩니다.

스크립팅



앱 프로그램을 만듭니다.
여기에서는 파일명을 youtube_dler.py, UI 파일명을 youtube_dler.pyui로 합니다.

youtube_dler.py
import youtube_dl,os
import ui


curdir = os.getcwd() + '/'

def dl(sender, path, format):
    global curdir
    if not os.path.isdir(curdir + path):
        os.mkdir(curdir + path)
    os.chdir(curdir + path)
    urlform = sender.superview['url']
    url = urlform.text
    if format == 'm4a' :
        dlformat = 'bestaudio[ext=m4a]'
    elif format == 'mp4' :
        dlformat = 'bestvideo[ext=mp4]'
    ydl_opts = {'format':dlformat}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])

def music_dl(sender):
    dl(sender, 'music', 'm4a')

def movie_dl(sender):
    dl(sender, 'video', 'mp4')

v = ui.load_view('youtube_dler.pyui')
v.present('sheet')

다음은 UI를 만듭니다.
UI는 기본적으로 자유롭습니다. 더 멋지게 해주세요.

다만 URL 폼의 name 를 url, 2 개의 버튼의 action 을 각각 music_dl, movie_dl 로 할 필요가 있습니다.




사용법



URL 폼에 youtube의 URL을 넣고 버튼을 누르면 m4a는 music, mp4는 video 파일에 저장됩니다.

참고



iPhone 단독으로 동영상을 다운로드하는 【pythonista】
htps : // m / 0x0 / ms / 91f f12f8 231bc49 9
Pythonista 3에 StaSh를 설치합니다.
htps : // 코 m / 마 보 y / ms / 세 f5 데에 13d5b2에 9 아 c843
iPhone으로 iPhone 앱을 만들자.
htps : // m / t t / ms / 34fb3395f085 e5 11f6 e

좋은 웹페이지 즐겨찾기