Sabtu, 18 Mei 2019

Parsing data Online

<?php


function get_dataa($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}
$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
); 

require_once"konmysqli.php";
echo date("Y-m-d h:i:s");


$i=0;
$sql="select idm from `$tbmaster` order by `idm` asc";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$i++;
$ARIDM[$i]=$d["idm"];
}


 $sql="select * from `$tbmaster` order by `idm` asc limit 0,5000";//5000
  $jum=getJum($conn,$sql);
if($jum > 0){
$arr=getData($conn,$sql);
$member0="";
foreach($arr as $d) {
$idm=$d["idm"];
$propinsi=$d["propinsi"];
$kabupaten=$d["kabupaten"];
$kecamatan=$d["kecamatan"];
$kelurahan=$d["kelurahan"];
$tps=$d["tps"];
$member=$d["member"];
$link=$d["link"];
$link2=$d["link2"];
$note=$d["note"];
$pathurl=$d["pathurl"];

if(ADA($link,".json")<1){$link="$link.json";}

echo"$member - TPS $tps<br>
<b>LNK1=$link<br>
LNK2=$link2</b><br>";
$response1 = file_get_contents($link, false, stream_context_create($arrContextOptions));

//$response1 =get_dataa($link);
echo $response1."<br>";


$W=date("Y-m-d h:i:s");//2019-05-15 00:00:00
$arx=getArray($response1);
$ts=$arx[0];
$psu=$arx[1];
$chart1=$arx[2];
$chart2=$arx[3];
$images1=$arx[4];
$images2=$arx[5];
$pemilih_j=$arx[6];
$pengguna_j=$arx[7];
$suara_total=$arx[8];
$suara_tidak_sah=$arx[9];
$suara_sah=$arx[10];


$IMG1="";
$IMG2="";
$URL1="";
$URL2="";

if(strlen($images1)>5){
$x1=substr($pathurl,0,3);
$x2=substr($pathurl,3,3);

$IMG1="imgC1".date("ymdhis").".jpg";
$URL1="https://pemilu2019.kpu.go.id/img/c/$x1/$x2/".$pathurl."/".$images1;

$IMG2="imgC2".date("ymdhis").".jpg";
$URL2="https://pemilu2019.kpu.go.id/img/c/$x1/$x2/".$pathurl."/".$images2;
}


$response1=str_replace($ts,"",$response1);
$sqlX="INSERT INTO `$tbarsip` (`ida`,`idm`, `datetime`, `ts`, `psu`, `chart1`, `chart2`, `images1`, `images2`, `pemilih_j`, `suara_sah`, `pengguna_j`, `suara_total`, `suara_tidak_sah`, `contens`,`link_images1`, `link_images2`, `new_images1`,`new_images2`) VALUES
('', '$idm','$W', '$ts', '$psu', '$chart1', '$chart2', '$images1', '$images2', '$pemilih_j', '$suara_sah', '$pengguna_j', '$suara_total', '$suara_tidak_sah', '$response1', '$URL1', '$URL2', '$IMG1', '$IMG2')";
$simpan=process($conn,$sqlX);

if($simpan){
if(strlen($images1)>5){
$my_save_dir = 'download/';
//+++++++++++++++++++++download ?
   $outimg = file_get_contents($URL1, false, stream_context_create($arrContextOptions));
   //$outimg = get_dataa($URL1);
   $complete_save_loc = $my_save_dir.$IMG1;
   file_put_contents($complete_save_loc,$outimg);

   $outimg = file_get_contents($URL2, false, stream_context_create($arrContextOptions));
   // $outimg = get_dataa($URL2);
   $complete_save_loc = $my_save_dir.$IMG2;
   file_put_contents($complete_save_loc,$outimg);
//+++++++++++++++++++++download ?
}//strlen
}//simpan


if(strlen($link2)>0){
if($member0==$member){}
else{
$member0=$member;
  $response2 = file_get_contents($link2, false, stream_context_create($arrContextOptions));
  //$response2 = get_dataa($link2);
echo "<h2>DATA RESPONSE2</h2>";//$response2."";
//++++++++++++++++++++++++++++++++++++

  $emp = json_decode($response2, true);
  $idkel= $emp['id'];
  $kel=$emp['name'];

$idprop=$emp['parentIds'][1];
$idkab=$emp['parentIds'][2];
$idkec=$emp['parentIds'][3];

$prop=$emp['parentNames'][1];
$kab=$emp['parentNames'][2];
$kec=$emp['parentNames'][3];

$lokasi="$prop-$kab-$kec-$kel";
echo $lokasi."<br>";

$N= count($emp['data']);
for($i=1;$i<$N;$i++){
$readjson2=$emp['data'][$i]["photos"];
//var_dump($readjson2);

$ii=0;


//$emp = json_decode($readjson2, true);
foreach($readjson2 as $key=>$v){
$y=array2string($v);
if(ADA($y,"sah")>0){
$sah= $v["sum"]["sah"]+0;
if($sah>0){
echo $key ;//gambar
echo"<br>";
$ts= $v["ts"];//kode dokumen
$pas1= $v["sum"]["pas1"];
$pas2= $v["sum"]["pas2"];
$tSah= $v["sum"]["tSah"];
$pending=1;
$yy=array2string($v["sum"]);
if(ADA($yy,"pending")>0){
$pending= $v["sum"]["pending"];
}
$ii++;
echo "<b>TPS:$i-$ii</b>. $pas1#$pas2#$sah#$tSah#$pending";
$idmq=$ARIDM[$i];
$contens="$idprop-$idkab-$idkec-$idkel-$i:$pas1#$pas2#$sah#$tSah#$pending#TPS:$i-$ii";
$sqlY="INSERT INTO `$tbdetail` (`id`, `datetime`, `location`, `ts`, `pas1`, `pas2`, `images`, `sah`, `tSah`, `pending`, `contens`, `idm`, `tps`) VALUES
('', '$W', '$lokasi', '$ts', '$pas1', '$pas2', '$key', '$sah', '$tSah', '$pending', '$contens', '$idmq', '$i');";
process($conn,$sqlY);

//$error = json_last_error();
}
echo "<hr>";
}//>0
}
}//for

//++++++++++++++++++++++++++++++++++++
}//else
}//link2==0
echo "<hr>";
}//for IDM
}//jum
else{
echo"Belum Ada Data";
}

?>






<?php

function getArray($readjson){
$emp = json_decode($readjson, true);
$ar[0]=$emp['ts'];
$ar[1]=$emp['psu']."";
$ar[2]=$emp['chart'][21];
$ar[3]=$emp['chart'][22];
$ar[4]=$emp['images'][0];
$ar[5]=$emp['images'][1];
  $ar[6]=$emp['pemilih_j'];
  $ar[7]=$emp['pengguna_j'];
  $ar[8]=$emp['suara_total'];
$ar[9]=$emp['suara_tidak_sah'];
$ar[10]=$emp['suara_sah'];

return $ar;
}

function process($conn,$sql){
$s=false;
$conn->autocommit(FALSE);
try {
  $rs = $conn->query($sql);
  if($rs){
    $conn->commit();
    $last_inserted_id = $conn->insert_id;
  $affected_rows = $conn->affected_rows;
  $s=true;
  }
}
catch (Exception $e) {
echo 'fail: ' . $e->getMessage();
  $conn->rollback();
}
$conn->autocommit(TRUE);
return $s;
}

function getJum($conn,$sql){
  $rs=$conn->query($sql);
  $jum= $rs->num_rows;
//$rs->free();
return $jum;
}


function getField($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$d= $rs->fetch_assoc();
$rs->free();
return $d;
}

function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
//foreach($arr as $row) {
//  echo $row['nama_kelas'] . '*<br>';
//}

$rs->free();
return $arr;
}




function array2string($data){
    $log_a = "";
    foreach ($data as $key => $value) {
        if(is_array($value))    $log_a .= "[".$key."] => (". array2string($value). ") \n";
        else                    $log_a .= "[".$key."] => ".$value."\n";
    }
    return $log_a;
}


//echo ADA("HALO APA KABAR","HALO");
function ADA($str,$cari){
$str=($str);
$sp=strstr($str,$cari);
$p=strlen($sp)+0;
return $p;
}


?>



Tidak ada komentar:

Posting Komentar