Aplicações catalogar Coleções - Excel & Imdb

Todos os assuntos relativos ao home cinema que não se enquadrem nos restantes fóruns.
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

Durante anos usei o DVDProfiler para catalogar a minha coleção, como há uns 8 anos passei para um Mac em casa... deixei de atualizar a coleção... e durante uns anos andei a navegar à vista (felizmente com muito poucos duplicados).

O ano passado, o meu amigo Cabeças andou em vários locais a falar de que tinha completado a catalogação completa da sua coleção :), deu-me a inveja e nas férias, considerando que faço muitas compras online, e que a Fnac mantém um histórico de compras via App... recomecei o imenso trabalho que é fazer uma folha de cálculo como gosto :)
Ver este tópico: Conferir todos os filmes! e este Pancadas de colecionador

Está com uma série de campos, mas sempre quis que ficasse com uma ligação direta ao imdb... pois há muita coisa que está lá e que gostava de ter no ficheiro acessível sempre que quisesse.

Assim desde o inicio que coloco o titulo em Pt, o titulo na língua original e um link para o imdb... deu trabalho mas hoje fui recompensado.
Consegui com pequenas adaptações, fazer com que o Excel leia com base no link imdb uma série de informação do site.

Nomeadamente os seguintes campos:Title, Year, Rated, Released Runtime, Genre, Director, Writer, Actors, Plot, Language, Country Awards, Poster, Ratings, Metascore, imdbRating, imdbVotes, imdbID, Type, DVD, BoxOffice, Production, Website

Vou aqui partilhar o código e posso tentar ajudar caso alguém precise.
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

O meu excel que preencho manualmente tem:
Formato, Titulo, Titulo Original, IMDB, Ano, Data Compra, Loja, Preço, Tipo de Edição, Numero Discos, 3D, 4K, Tipo Caixa, Extras Legendados, Outros

Para que depois possa ser lido, preciso de um campo com o id do imdb: tt0435761
https://www.imdb.com/title/tt0435761
A partir do link retiram a parte que indiquei.
Se tiverem o link como era o meu caso como url, o que fiz foi uma pequena função que pesquisa a parte tt do link

Code: Select all

Function GetURLIMDB(Cell As Range, Optional default_value As Variant)
'Lists the Hyperlink Address for a Given Cell
'If cell does not contain a hyperlink, return default_value
    If (Cell.Range("a1").Hyperlinks.Count <> 1) Then
        GetURLIMDB = default_value
    Else
        GetURLIMDB = Cell.Range("a1").Hyperlinks(1).Address & "#" & Cell.Range("A1").Hyperlinks(1).SubAddress
    End If
    
    If IsNumeric(InStr(1, GetURLIMDB, "title/", vbTextCompare)) Then
       GetURLIMDB = Mid(GetURLIMDB, InStr(1, GetURLIMDB, "title/", vbTextCompare) + 6, 9)
    End If
    
    
End Function
O código auxiliar para ler o url do site (que recomendo coloquem num módulo separado, e tem os meus comentários mais o local de onde foi copiado

Code: Select all

Option Explicit
'The code uses early binding. So you have to add a reference to "Microsoft Script Control 1.0".
'Fonte: https://stackoverflow.com/questions/6627652/parsing-json-in-excel-vba

Private ScriptEngine As ScriptControl

Public Sub InitScriptEngine()
    Set ScriptEngine = New ScriptControl
    ScriptEngine.Language = "JScript"
    ScriptEngine.AddCode "function getProperty(jsonObj, propertyName) { return jsonObj[propertyName]; } "
    ScriptEngine.AddCode "function getKeys(jsonObj) { var keys = new Array(); for (var i in jsonObj) { keys.push(i); } return keys; } "
End Sub

Public Function DecodeJsonString(ByVal JsonString As String)
    Set DecodeJsonString = ScriptEngine.Eval("(" + JsonString + ")")
End Function

Public Function GetProperty(ByVal JsonObject As Object, ByVal propertyName As String) As Variant
    GetProperty = ScriptEngine.Run("getProperty", JsonObject, propertyName)
End Function

Public Function GetObjectProperty(ByVal JsonObject As Object, ByVal propertyName As String) As Object
    Set GetObjectProperty = ScriptEngine.Run("getProperty", JsonObject, propertyName)
End Function

Public Function GetKeys(ByVal JsonObject As Object) As String()
    Dim Length As Integer
    Dim KeysArray() As String
    Dim KeysObject As Object
    Dim Index As Integer
    Dim Key As Variant

    Set KeysObject = ScriptEngine.Run("getKeys", JsonObject)
    Length = GetProperty(KeysObject, "length")
    ReDim KeysArray(Length - 1)
    Index = 0
    For Each Key In KeysObject
        KeysArray(Index) = Key
        Index = Index + 1
    Next
    GetKeys = KeysArray
End Function


Public Sub TestJsonAccess()
    Dim JsonString As String
    Dim JsonObject As Object
    Dim Keys() As String
    Dim Value As Variant
    Dim j As Variant

    InitScriptEngine

    JsonString = "{""key1"": ""val1"", ""key2"": { ""key3"": ""val3"" } }"
    Set JsonObject = DecodeJsonString(CStr(JsonString))
    Keys = GetKeys(JsonObject)

    Value = GetProperty(JsonObject, "key1")
    Set Value = GetObjectProperty(JsonObject, "key2")
End Sub

O código para escrever as colunas que se faz retrieve do imdb
Para isso é preciso fazerem o registo no site http://www.omdbapi.com/ e depois ele envia-vos uma key que devem colocar no código onde eu escrevi keynnn (troquem pela vossa key)
A key permite ao site controlar quem está a fazer o uso do mesmo.

Code: Select all

'Fonte: https://www.mrexcel.com/forum/excel-questions/898899-json-api-excel.html
'Adaptado por Rui Santos

Public Sub Read_IMDB_OMDAPI()

    Dim JsonObject As Object
    Dim fields As Variant, field As Variant, c As Long
    Dim linha As Single
    Dim IDImdb As String
    
    For linha = 201 To 230 Step 1 'define as linhas que vai preencher, para testes usem 10 por exemplo
        IDImdb = Cells(linha, 19).Value
        If Left(IDImdb, 2) = "tt" Then
    
            
            
            InitScriptEngine
             
            With CreateObject("MSXML2.XMLHTTP")
                '.Open "GET", "http://www.omdbapi.com/?i=tt3460252&apikey=keynnn&plot=full&r=JSON", False ' foram usadas para teste
                '.Open "GET", "http://www.omdbapi.com/?i=tt3460252&apikey=keynnn&plot=short&r=JSON", False ' foram usadas para teste
                .Open "GET", "http://www.omdbapi.com/?i=" & IDImdb & "&apikey=keynnn&plot=short&r=JSON", False
                .Send
                Set JsonObject = DecodeJsonString(.responseText)
            End With
             
            With Sheets(1) 'Define a worksheet que irá escrever
                c = 20  ' Define a coluna inicial onde irá escrever
                fields = GetKeys(JsonObject)
                For Each field In fields
                    '.Cells(1, c).Value = field
                    .Cells(linha, c).Value = GetProperty(JsonObject, field)
                    c = c + 1
                Next
            End With
        End If
    Next linha
    

End Sub

Qq que precisem perguntem por aqui :) Não sou grande expert mas posso tentar ajudar. :mrgreen:
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

No final agora tenho por exemplo para os: Os Oito Odiados
BluRay
Os Oito Odiados
The Hateful Eight
IMDB link
2015
22/07/2018
Fnac Colombo
15€
Keepcase


Do IMDB:
The Hateful Eight
2015
R
42368 Data saida
187 min
Crime, Drama, Mystery
Quentin Tarantino
Quentin Tarantino
Samuel L. Jackson, Kurt Russell, Jennifer Jason Leigh, Walton Goggins
In the dead of a Wyoming winter, a bounty hunter and his prisoner find shelter in a cabin currently inhabited by a collection of nefarious characters.
English, Spanish, French
USA
Won 1 Oscar. Another 39 wins & 113 nominations.
https://m.media-amazon.com/images/M/MV5 ... _SX300.jpg
68
7.8
393889
tt3460252
movie
42458
54116191
The Weinstein Company
http://thehatefuleight.com/
TRUE


como?-)
Ainda um dia hei-de voltar ao DVDPRofiler, mas fica muito porreiro para excel.
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

Como dica final para quem esteja a começar o excel, recomendaria que guardassem o código de barras, para um dia depois carregar noutras apps é muito bom.
Colocar o título em inglês (ou língua original) e o ano é uma excelente ideia para o Rottem Tomatoes pois os URLs tem sempre esses dois campos.
Tb já fiz alguma pesquisa sobre isso e recomendo que coloquem os campos que coloquei, mais o ISIN.

E vocês que campos tem no vosso excel?
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
Schwarz
Fanático
Fanático
Posts: 521
Joined: March 28th, 2009, 3:31 pm
Location: Lisboa

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Schwarz »

Eu também catalogo a minha coleção em excel mas numa versão mais rudimentar.
Acho que, no geral, devo ter as mesmas colunas (informações).
No entanto, para facilitar a escolha de um filme que queira ver, tenho uma coluna para marcar os filmes que já vi / nunca vi!
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

Schwarz wrote:Eu também catalogo a minha coleção em excel mas numa versão mais rudimentar.
Acho que, no geral, devo ter as mesmas colunas (informações).
No entanto, para facilitar a escolha de um filme que queira ver, tenho uma coluna para marcar os filmes que já vi / nunca vi!
É uma excelente ideia...
Por vezes faço isso com o imdb mas é uma coluna a adicionar sem duvida.
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
siroco
DVD Maníaco
DVD Maníaco
Posts: 3132
Joined: December 2nd, 2004, 7:40 pm
Location: Sintra

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by siroco »

Obrigado pela partilha! yes-)

Durante muito tempo usei o dvdlist do Pedro Silva, nunca usei o profiler porque não nutro interesse pelas características das edições, mais que que os DVDs o que me interessa mesmo são os filmes :-)

Atualmente mantenho uma lista no imdb da qual exporto para excel os seguintes campos:

Realizador
Título
Original
Título Português
Ano
Duração
Samwise
DVD Maníaco
DVD Maníaco
Posts: 6267
Joined: February 19th, 2009, 9:07 pm
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Samwise »

Muito interessante, Rui. Eu imaginava que desse para fazer coisas assim, mas nunca me preocupei o suficiente a ponto de ir à procura de código dedicado para Excel.

Já não trabalho com VBA vai para uns 10 anos, e mesmo assim não era "utilizador avançado". Quando tiver algum tempo vou olhar para isso com atenção e ver se consigo adaptar para uso próprio - no meu caso não será para catalogar a colecção, uma vez que não tenho tantos filmes assim, mas mais para ir construindo listas de visualizações e de próximas obras em calha.
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

Samwise wrote: July 24th, 2018, 11:52 am Muito interessante, Rui. Eu imaginava que desse para fazer coisas assim, mas nunca me preocupei o suficiente a ponto de ir à procura de código dedicado para Excel.

Já não trabalho com VBA vai para uns 10 anos, e mesmo assim não era "utilizador avançado". Quando tiver algum tempo vou olhar para isso com atenção e ver se consigo adaptar para uso próprio - no meu caso não será para catalogar a colecção, uma vez que não tenho tantos filmes assim, mas mais para ir construindo listas de visualizações e de próximas obras em calha.
Se sabes pelo menos abrir o editor de VBA, e se sabes um mínimo será fácil.
Qq que precises avisa, tentei comentar o código nas partes que adaptei.

A flexibilidade é que não é muita pois apenas posso ir buscar os campos que ali coloquei :) mas é mais que suficiente para o que eu quero.
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

siroco wrote: July 24th, 2018, 10:24 am Obrigado pela partilha! yes-)

Durante muito tempo usei o dvdlist do Pedro Silva, nunca usei o profiler porque não nutro interesse pelas características das edições, mais que que os DVDs o que me interessa mesmo são os filmes :-)

Atualmente mantenho uma lista no imdb da qual exporto para excel os seguintes campos:

Realizador
Título
Original
Título Português
Ano
Duração
Acho que fazes sempre bem manter um ficheiro local, nunca se sabe quando os tipos do imdb (a amazon) lhe dá um amuo e fecha aquilo ou coloca aquilo a "pagantes"
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
Samwise
DVD Maníaco
DVD Maníaco
Posts: 6267
Joined: February 19th, 2009, 9:07 pm
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Samwise »

Rui Santos wrote: July 24th, 2018, 11:57 am Se sabes pelo menos abrir o editor de VBA, e se sabes um mínimo será fácil.
O editor VBA e macros, no menu programação, que não está visível por default. :mrgreen:
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

Samwise wrote: July 24th, 2018, 12:01 pm
Rui Santos wrote: July 24th, 2018, 11:57 am Se sabes pelo menos abrir o editor de VBA, e se sabes um mínimo será fácil.
O editor VBA e macros, no menu programação, que não está visível por default. :mrgreen:
Verdade... :) Uma das coisas que a microsoft fez para não baralhar outras mentes :)
Alt+F11 resulta sempre :)
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
mansildv
DVD Maníaco
DVD Maníaco
Posts: 16138
Joined: February 25th, 2014, 6:30 pm

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by mansildv »

Eu opto por catalogar a minha colecção de forma simples, não uso excel nem nenhum programa específico, tenho apenas uma pasta com os posters de todos os filmes, sempre com o título original, e com sub-pastas com os filmes que quero ver, por ordem de interesse!
Sei que é rudimentar mas resulta bem e não sinto necessidade de complicar :-)))

Em relação aos filmes que já vi, faço essa gestão através do IMDb.

Já faço desta forma há muitos anos e vai resultando :wink:
paupau
DVD Maníaco
DVD Maníaco
Posts: 3633
Joined: January 7th, 2005, 6:13 pm

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by paupau »

Aqui e mesmo tudo na mona.... chega-me se me perguntarem se tenho filme x, sei automaticamente. E nunca comprei um filme repetido.
Tenho boa memoria pa ano de.producao, realizador, atores e ost.

Nao me lembro e de cenas wue.me.perguntaram ha 5.min as vezes


Enviado do meu SM-A510F através do Tapatalk

CC - 174 MoC - 73 BFI - 21
User avatar
Rui Santos
Site Admin
Posts: 6161
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Aplicações catalogar Coleções - Excel & Imdb

Post by Rui Santos »

paupau wrote: July 24th, 2018, 11:17 pm Aqui e mesmo tudo na mona.... chega-me se me perguntarem se tenho filme x, sei automaticamente. E nunca comprei um filme repetido.
Tenho boa memoria pa ano de.producao, realizador, atores e ost.

Nao me lembro e de cenas wue.me.perguntaram ha 5.min as vezes


Enviado do meu SM-A510F através do Tapatalk
Que grande lolll paupau.
Grande memória mesmo. Eu diria que me lembro de uns 90% dos filmes e edições que comprei. O problema são os outros 10%... e os nomes dos atores que por vezes começam a ser difíceis de sair da memória.
Rui Santos - 54 Anos | 22 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
Post Reply