giovanigenerali / fipe-json

🚘 FIPE API - Listagem com preço médio de veículos: carro, moto e caminhão.
https://precodeveiculo.netlify.app
154 stars 35 forks source link

Atualização dos JSONs #2

Closed bruno-rodrigues closed 6 years ago

bruno-rodrigues commented 6 years ago

Boa tarde, primeiramente obrigado pelo repo.

Eu gostaria de saber quando serão atualizados os .json com os dados dos veículos ou se tem como disponibilizar o script que gera esses arquivos.

Gostei muito dessa abordagem pois não vai sobrecarregar os servers da fipe!!

giovanigenerali commented 6 years ago

@bruno-rodrigues não tenho um script pronto para a FIPE, mas dá para criar um robozinho e agendar no cron para atualizar. É uma idéia, se alguém puder ajudar a melhorar o projeto só avisar.

Tenho esse exemplo aqui, puxa do G1 e foi o que usei ;) Só salvar e rodar no terminal php script.php, demora mas funcionou pra mim.

<?php
function getVehicles($vehicles) {
    global $api;
    foreach ($vehicles as $vehicle) {
        $json_file = $vehicle.".json";
        $json_url = $api . $json_file;
        exec("curl $json_url -o $json_file");
        exec("mkdir $vehicle");
        getModels($vehicle);
    }
}
function getModels($vehicle) {
    global $api;
    $file = file_get_contents($vehicle.".json");
    $fipe_codes = json_decode($file, true);
    foreach ($fipe_codes as $code) {
        $json_file = $vehicle ."/". $code['cod_fipe'] .".json";
        $json_url = $api . $json_file;
        exec("curl $json_url -o $json_file");
    }
}

global $api;
$api = "http://g1.globo.com/static/fipe/json/";
getVehicles(["caminhao", "moto", "carro"]);
giovanigenerali commented 6 years ago

script liberado no repositório para consulta! fechando a issue, valeu.