-
Notifications
You must be signed in to change notification settings - Fork 1
/
ytthumb.py
70 lines (53 loc) · 1.61 KB
/
ytthumb.py
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from datetime import datetime
import urllib3
def verificar_url():
global endereco
url = ""
while url == "":
url = input("Insira o endereço: ")
url = url.rstrip(" ")
endereco = url.split("watch?v=")
if endereco[0] != 'https://www.youtube.com/':
print("Endereço incorreto. Tente novamente.")
url = ""
return True
def definir_thumbnails():
codigo_video = endereco[1]
url_imagem = "https://img.youtube.com/vi/" + codigo_video
mq = url_imagem + "/mqdefault.jpg"
hq = url_imagem + "/hqdefault.jpg"
sd = url_imagem + "/sddefault.jpg"
max = url_imagem + "/maxresdefault.jpg"
return [mq, hq, sd, max]
def arquivo_existe(pedido):
resposta = pedido.status
if resposta == 200:
return True
else:
return False
def salvar_arquivos(thumbnails):
i = 3
existe_arquivo = False
while not existe_arquivo and i > 0:
http = urllib3.PoolManager()
pedido = http.request('GET', thumbnails[i])
if arquivo_existe(pedido):
hora = registrar_hora()
nome = str(hora) + "-" + str(i) + ".jpg"
arquivo_local = open(nome, 'w+b')
arquivo_local.write(pedido.data)
arquivo_local.close()
existe_arquivo = True
http.clear()
i -= 1
def registrar_hora():
agora = datetime.now()
hora = int(agora.timestamp())
return hora
def main():
if (verificar_url()):
thumbnails = definir_thumbnails()
salvar_arquivos(thumbnails)
print("Concluído.")
if __name__ == '__main__':
main()