Só quem já precisou dessa bendita tabela e não encontrou nada a respeito sabe do que eu estou falando, até onde sei a Fundação FIPE não disponibiliza nenhum webservice ou algo do tipo que viabilize o acesso aos dados da tabela, até onde ouvi falar eles disponibilizam os dados mais por uma boa quantia, enfim... se você está precisando dos dados da tabela aqui vai uma ajudinha.
Procurando uma forma de acessar os dados da web encontrei algumas códigos e a maioria não funcionou como o esperado porém pesquisando um pouco mais encontrei um que deu certo: Link para o Site.
Nesse repositório estão todos os dados necessários para a recuperação da tabela FIPE e o autor explica passo a passo como fazer a utilização do código. Basta baixar dois arquivos : index.htm e fipe.json e você pode rodar no seu servidor web (rodei no Apache e funcionou), feito isso o arquivo fipe.json será populado com todos os dados da tabela.
Pronto? Não, é necessário fazer a leitura do arquivo fipe.json, no meu caso eu queria salvar os arquivos em uma base de dados para uso posterior então vou postar como fiz para transformar o arquivo no formato json em um banco de dados com as informações da tabela FIPE.
Caso não consigam baixar direto do site segue os arquivos index.htm e fipe.json:
fipe_json.rar |
sql_completo.rar |
leiturajsonfipe.zip |
libs.rar |
1ºPasso: Executar index.htm e gerar arquivo fipe.json atualizado.
2ºPasso: Criar a base de dados fipe com as tabelas e sequences pertinentes.
3ºPasso: Abrir o projeto leiturajson (Eclipse) adicionar as libs, executar o projeto que vai ler o arquivo json e popular a tabela Veículos.
4ºPasso: Dentro do SGBD ou console executar os scripts de insert que fazem a normalização (divide as tabelas retirando a redundância de dados).
5ºPasso: Você pode se basear no scripts de select que está na pasta sql_completo, para exibir o resultado nos padrões do site da fipe.
Pronto se tudo deu certo, nesse momento você deve estar com uma base de dados completa com os dados da tabela fipe atualizados. Fique livre para alterar o código de acordo com a sua necessidade a idéia aqui era só dar uma luz pra quem precisa desses dados.
Hands On!
Daniel Paulo de Assis