-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapi_imdb.py
More file actions
77 lines (60 loc) · 2.57 KB
/
api_imdb.py
File metadata and controls
77 lines (60 loc) · 2.57 KB
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
71
72
73
74
75
76
77
import json
import re
import string
from Locadora import *
from imdb import IMDb
db = Locadora()
ia = IMDb()
def treatRated(rated) -> str:
ratings = {"10", "12", "14", "16", "18", "livre", "l"}
rated = re.sub('[^a-z0-9]+','', rated.lower())
for rating in ratings:
if rated.startswith(rating):
return rating.capitalize()
return "Desconhecida"
# Função para obter e imprimir detalhes de todos os filmes
def obter_detalhes_filmes(ids_filmes):
for id_filme in ids_filmes:
# Remover o prefixo 'tt' do ID
id_filme = id_filme.lstrip('tt')
lista_filmes = []
try:
filme = ia.get_movie(id_filme)
if filme:
lista_filmes.append(filme.get('title', 'Título desconhecido'))
diretores = filme.get('director')
if diretores:
lista_filmes.append(diretores[0]['name'])
else:
lista_filmes.append("Diretor: Desconhecido")
generos = filme.get('genres')
if generos:
lista_filmes.append(generos[0])
else:
lista_filmes.append("Gênero: Desconhecido")
lista_filmes.append(filme.get('year', 'Ano desconhecido'))
# Classificação etária no Brasil
certificados = filme.get('certificates')
if certificados:
for i in certificados:
if "brazil" in i.lower():
lista_filmes.append(i.lstrip('Brazil:'))
break
else:
lista_filmes.append(i.lstrip("Desconhecida"))
lista_filmes[4] = treatRated(lista_filmes[4])
db.createRow(lista_filmes[0], lista_filmes[1], lista_filmes[2], lista_filmes[3], lista_filmes[4])
except Exception as e:
print(f"Erro ao obter filme ID {id_filme}: {e}")
continue
# Carregar o JSON e extrair os IDs dos filmes
def carregar_ids_filmes(caminho_arquivo):
with open(caminho_arquivo, 'r') as arquivo:
filmes = json.load(arquivo)
ids_filmes = [filme['id'] for filme in filmes]
return ids_filmes
# Caminho do arquivo JSON
caminho_arquivo = 'filmes.json' # Atualize com o caminho do seu arquivo JSON
ids_filmes = carregar_ids_filmes(caminho_arquivo)
# Chama a função para obter detalhes de todos os filmes usando os IDs
obter_detalhes_filmes(ids_filmes)