From 0d12f66106dfb30842612575e56a58646318d8cd Mon Sep 17 00:00:00 2001 From: Devillez Louis <louis.devillez@student.ecp.fr> Date: Mon, 8 Oct 2018 00:11:06 +0200 Subject: [PATCH] V1.0 --- README.md | 2 +- main.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ settings.py | 5 +++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 main.py create mode 100644 settings.py diff --git a/README.md b/README.md index d25f4d3..03bce1e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # Youtube-2-mp3 -Download song from youtube directly into your folders +From one key press, you download the youtube video from your browser. diff --git a/main.py b/main.py new file mode 100644 index 0000000..9335606 --- /dev/null +++ b/main.py @@ -0,0 +1,48 @@ +from __future__ import unicode_literals +import os +import json +import lz4.block +import requests +import youtube_dl +from urllib.request import urlopen, FancyURLopener +from urllib.parse import urlparse, parse_qs, unquote + +from settings import settings + +f = open(settings["path"] + "/recovery.jsonlz4", "rb") +magic = f.read(8) +jdata = json.loads(lz4.block.decompress(f.read()).decode("utf-8")) +f.close() +URLS = [] +for win in jdata.get("windows"): + for tab in win.get("tabs"): + i = tab.get("index") - 1 + urls = tab.get("entries")[i].get("url") + if "www.youtube.com" in urls: + list.append(URLS,urls) + +for i in URLS: + video_id = parse_qs(urlparse(i).query)['v'][0] + + url_data = urlopen('http://www.youtube.com/get_video_info?&video;_id=' + video_id).read() + url_info = parse_qs(unquote(url_data.decode('utf-8'))) + ydl_opts = { + 'format': 'bestaudio/best', + 'forcetitle': 'true', + 'forcejson': 'true', + 'postprocessors': [{ + 'key': 'FFmpegExtractAudio', + 'preferredcodec': 'mp3', + 'preferredquality': '192', + }], + } + with youtube_dl.YoutubeDL(ydl_opts) as ydl: + info_dict = ydl.extract_info(i, download=False) + print(info_dict["title"]) + title = input("Titre de la musique: ") + ydl.download([i]) + dir = os.listdir(settings["pathMusique"]) + for i in range(0,len(dir)): + print(str(i) + " - " + dir[i]) + dirFinal = dir[int(input("Dossier final:"))] + os.rename(info_dict["title"]+'-' +info_dict["id"]+".mp3",settings["pathMusique"] + '/'+ dirFinal +'/' + title +".mp3") diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..0a61218 --- /dev/null +++ b/settings.py @@ -0,0 +1,5 @@ +settings= { + "browser":"firefox", + "path":"/home/westornd/.mozilla/firefox/euy0mqkl.default/sessionstore-backups", + "pathMusique": "/home/westornd/Musique" +} -- GitLab