#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini select('logs', 'siren, nic, dateHeure',"siren>1000 AND page IN ('identite') AND dateHeure>=DATE_SUB(NOW(), INTERVAL 1 DAY) GROUP BY siren, nic ORDER BY dateHeure", false,MYSQL_ASSOC,true); //echo mysql_error(); /*SELECT * FROM `infos_entrep` WHERE `nscrl` =0 ORDER BY `infos_entrep`.`dateUpdate` ASC*/ echo date ('Y/m/d - H:i:s')." - Il y a $nbTel établissements à mettre à jour en TEL/FAX...".EOL; $nbSiret=$siretTrouve=$siretEnCache=$siretActif=$siretInactif=$siretInfosEntrepCache=$siretInfosEntrepMaj=0; while ($tabTel=$iDb->fetch(MYSQL_ASSOC)) { $nbSiret++; $siren= $tabTel['siren']; //$siren= 448364232; $nic= $tabTel['nic']; $date= $tabTel['dateHeure']; // $siren=504284159; $nic=0; if ($sirenPre==$siren && $sirenTrouve==false) { $ligne=date('Y/m/d H:i:s')." - Siret $siren $nic : déjà traité sans succès ($date)"; echo $ligne.EOL; continue; } $tabIdentite=$iInsee->getIdentiteEntreprise($siren, $nic, 0, false,false); $rs=$tabIdentite['Nom'];// Nom2, Sigle, Enseigne if ($tabIdentite['Actif']==1) { $tdeb=microtime(1); $iTel=new MTel(true); $tmp=$iTel->getTel($siren); if (count($tmp)>0 && $nic*1>0) { $tmp=$iTel->getTel($siren, $nic); $sirenTrouve=true; $siretTrouve++; } else $sirenTrouve=false; if ($iTel->enCache) $siretEnCache++; $duree=round(microtime(1)-$tdeb,3); $tabIdentitePart=$iInsee->getIdentitePart($siren, $rs, $enseigne, $sigle, $nic, true); if ($tabIdentitePart['enCache']) { $strLigne='en cache'; $siretInfosEntrepCache++; } else { $duree2=$tabIdentitePart['duree']; $strLigne="MAJ en $duree2 s"; $siretInfosEntrepMaj++; } $ligne=date('Y/m/d H:i:s')." - Siret n°$nbSiret/$nbTel, $siren $nic : infos entreps $strLigne, ".count($tmp)." ligne(s) tel/fax en $duree s ($date)"; $siteWeb=$iWeb->findSiteWeb($siren, $rs); echo "$ligne ($siteWeb)".EOL;//die(); randsleep(3,7); $siretActif++; } else $siretInactif++; $sirenPre=$siren; } $message="Sur les $nbSiret fiches consultés hier, nous avions $siretActif fiches actives. Nous avons trouvés $siretTrouve contacts téléphoniques dont $siretEnCache en cache. Nous avons mis à jour $siretInfosEntrepMaj fiches 'infos_entrep' ($siretInfosEntrepCache en cache).\r\n".EOL; sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations TEL/FAX', $message); echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL; } if ($infosEntrep) { echo date('Y/m/d - H:i:s') ." - DEBUT du programme de recherche des infos_entrep...".EOL; $nbTel=$iDb->select('jo.infos_entrep', 'siren, 0 AS nic, dateUpdate AS dateHeure',"nscrl=0 ORDER BY dateUpdate ASC LIMIT 0,1000", false,MYSQL_ASSOC,true); echo date ('Y/m/d - H:i:s')." - Il y a $nbTel établissements à mettre à jour en infos_entrep...".EOL; $nbSiret=$siretTrouve=$siretEnCache=$siretActif=$siretInactif=$siretInfosEntrepCache=$siretInfosEntrepMaj=0; while ($tabTel=$iDb->fetch(MYSQL_ASSOC)) { $nbSiret++; $siren= $tabTel['siren']; $nic= $tabTel['nic']; $date= $tabTel['dateHeure']; // $siren=504284159; $nic=0; $tabIdentite=$iInsee->getIdentiteEntreprise($siren, $nic, 0, false,false); if ($tabIdentite['Actif']==1) { $tdeb=microtime(1); $iTel=new MTel(); $tmp=$iTel->getTel($siren); if (count($tmp)>0 && $nic*1>0) { $tmp=$iTel->getTel($siren, $nic); $sirenTrouve=true; $siretTrouve++; } else $sirenTrouve=false; if ($iTel->enCache) $siretEnCache++; $duree=round(microtime(1)-$tdeb,3); $tabIdentitePart=$iInsee->getIdentitePart($siren, $rs, $enseigne, $sigle, $nic, true); if ($tabIdentitePart['enCache']) { $strLigne='en cache'; $siretInfosEntrepCache++; } else { $duree2=$tabIdentitePart['duree']; $strLigne="MAJ en $duree2 s"; $siretInfosEntrepMaj++; } $ligne=date('Y/m/d H:i:s')." - Siret n°$nbSiret/$nbTel, $siren $nic : infos entreps $strLigne, ".count($tmp)." ligne(s) tel/fax en $duree s ($date)"; echo $ligne.EOL; randsleep(3,7); $siretActif++; } else $siretInactif++; } $message="Sur les $nbSiret infos_entrep anciennes du jour, nous avions $siretActif fiches actives. Nous avons trouvés $siretTrouve contacts téléphoniques dont $siretEnCache en cache. Nous avons mis à jour $siretInfosEntrepMaj fiches 'infos_entrep' ($siretInfosEntrepCache en cache).\r\n".EOL; sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations infos_entrep anciennes', $message); echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des infos_entrep anciennes des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL; } die(); function chechSirenSiteAfnic($siteWeb) { $referer='http://www.afnic.fr/'; $url='http://www.afnic.fr/outils/whois/'.$siteWeb; //die(print_r(parse_url('http://www.'.$siteWeb.'/'))); /*print_r(pathinfo('http://www.'.$siteWeb.'/index.html')); print_r(pathinfo($siteWeb)); die();*/ $page=getUrl($url, '', '', $referer); if ($page['code']==200) { if(preg_match('/
  • Identifié grâce au numéro de SIREN (.*)<\/a><\/li>/Uis', $page['body'], $matches)) return html_entity_decode($matches[1]); } return false; } chechSirenSiteAfnic('dipinfo.fr'); function findSiteWeb($siren, $nomEntrep='') { global $iDbUpdate; $referer='http://www.google.fr/'; $siren2=implode(' ', str_split($siren, 3)); if ($nomEntrep<>'') $rs2="OR \"$nomEntrep\""; $tabSitesExclus=array('societe.com','bilans.net','gouv.fr','info-financiere.fr','bodacc.fr','manageo.fr','bilansgratuits.fr','lesechos.fr','google.fr'); $rs="$siren OR \"$siren2\" $rs2 -site:".implode(' -site:', $tabSitesExclus); //-site:gouv.fr -site:info-financiere.fr -site:bodacc.fr -site:manageo.fr -site:bilansgratuits.fr -site:lesechos.fr -site:google.fr"; $url='http://www.google.fr/search?hl=fr&as_qdr=all&q='.urlencode($rs).'&btnG=Rechercher&num=100';//&meta=cr%3DcountryFR'; //http://www.google.fr/search?hl=fr&q=448364232+OR+%22448+364+232%22+-site%3Agouv.fr++-site%3Ainfo-financiere.fr+-site%3Abodacc.fr&btnG=Rechercher&meta= $page=getUrl($url, '', '', $referer, false, 'www.google.fr','', 5); //$fp=fopen('./findSiteWeb.log', 'a+'); if ($page['code']==200) { $levMin=100; $pctMin=0; $urlLev=$urlPct=''; $body=$page['body']; // url?q=http://www.zueblin.fr/files/FRAFinanceGeneralMeeting_file82.pdf preg_match_all('/$url) { $url="http://$url/"; $lev=@levenshtein ($urlapprox,$url); if ($lev>0 && $lev<$levMin) { $levMin=$lev; $urlLev=$url; } $sim=similar_text($urlapprox,$url,$pct); if ($pct>$pctMin && strpos($url, 'zonebourse')===false) { $pctMin=$pct; $urlPct=$url; } if (preg_match('/\.(.*\.fr)\//', $url, $matches2)) { $rep=$iDbUpdate->select('sitesWeb', 'siren, web', "web=$url"); if (@$rep[0]['siren']*1==0) { $siren=chechSirenSiteAfnic($matches2[1]); if ($siren) { $tabInsert=array('siren'=>$siren, 'web'=>$url, 'dateInsert'=>date('YmdHis')); $iDbUpdate->insert('sitesWeb', $tabInsert); } } } } //fclose($fp); if ($levMin<15 && $pctMin>44 && $urlLev==$urlPct) { // fwrite($fp, date('Y-m-d H:i:s') .' - '. $page['code'] . " - $rs - $i - $lev (Min=$levMin) - $pct (Min=$pctMin) - $urlLev - $urlPct - $url !!! RETURNED !!!\n"); return $urlLev; } return false; } //fclose($fp); return false; } ?>