#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
ARGAN
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : ', '', ''))));
//if ($tabAnnBalo['Societe_Nom']=='')
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'
BOAMF: ', '', ''))); //
RCS : 393430608
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : ', '', ''));
// Catégorie : BULLETIN OFFICIEL DE L'AMF
$tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : ', '', ''))));
// N° d'affaire : 0712845
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : ', '', '');
// Paru le : 08-08-2007 (Parution n°95)
$tmp=@getTextInHtml($annonceHtml, 'Paru le : ', '', '');
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
// (Parution n°95)
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°', '', '');
/*
Annonce au format', 'href="', '" target="_blank">HTML'))); $tabAnnBalo['Url_Annonce_Pdf']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'target="_blank">HTML ou', 'href="', '" target="_blank">PDF
')))); return $tabAnnBalo; } $repBalo='/home/data/balo/'; // Avec slash final SVP !!! $repBaloComp='/home/data/balo/full/'; // Avec slash final SVP !!! $tempsMinEntreRequetes=5; $tempsMaxEntreRequetes=30; set_time_limit(0); $iDb=new WDB();/* $iInsee=new MInsee(); $iBourse=new MBourse(); */ $cookie=''; $dateDerParution=$dateCour=$dateF=false; $strInfoProg='Usage : '.basename($argv[0]). " [OPTION] Recupère les dernières annonces BALO sur le site de la DJO. Sans aucun paramètre, récupération des dernières Annonces. Sinon: -d:JJ/MM/AAAA Date de début de publication -f:JJ/MM/AAAA Date de fin de publication -l Dernière parution uniquement (*) -n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes) -i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes) "; $argv=$_SERVER['argv']; if ($_SERVER['argc']==1) $lastJO=true; else { for ($i=1; isset($argv[$i]); $i++) { if (substr($argv[$i],0,1)=='-') { switch (substr($argv[$i],1,1)) { case 'd': $dateDebut=substr($argv[$i],3,10); $dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut); $lastJO=false; break; case 'f': $dateFin=substr($argv[$i],3,10); $dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin); $lastJO=false; break; case 'n': $tempsMinEntreRequetes=trim(substr($argv[$i],3))*1; if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0; break; case 'i': $tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1; if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2; break; case 'l': $lastJO=true; break; case '-': die($strInfoProg); break; default: die('Option '. $argv[$i] . " inconnue !\n"); } } } } if ($lastJO==true) { $strLast=' dernier'; $strDates=''; } else { $strLast=''; if ($dateFin==false) { $dateFin=date('d/m/Y'); $dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin); } if ($dateDebut==false) die($strInfoProg); else $strDates=" du $dateDebut au $dateFin"; $dateCour=$dateDeb; } echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL; echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL; flush(); while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates //for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions if ($cookie=='') { $referer=''; $url='http://www.journal-officiel.gouv.fr/balo/'; $page=getUrl($url, '', '', $referer); $referer=$url; $body=$page['body']; $cookie=$page['header']['Set-Cookie']; echo date('Y/m/d - H:i:s') .' - Cookie = "'. trim($cookie) .'"' . EOL; $dateDerParution=@getTextInHtml($body, 'Dernière parution (', '10px">(', ')'); randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes); } if ($lastJO==true) { // Cas récup dernier JO $dateAff=$dateDerParution; $url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast'; } else { // On est pas dans la récupération du JO Assoc Jiur $dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour); $dateFmt=str_replace('/', '%2F', $dateAff); $url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher"; } $page=getUrl($url, $cookie, '', $referer); $referer=$url; $body=$page['body']; $ctx=@getTextInHtml($body, 'RÉSULTAT DE LA RECHERCHE :', 'recherche :', 'annonce(s) correspondent'); //die(print_r($body)); $nbPages=ceil($nbAnnonces/10); if ($lastJO==true) echo date('Y/m/d - H:i:s') ." - Derniere parution BALO le $dateDerParution de $nbAnnonces annonces ($nbPages pages)...". EOL; else echo date('Y/m/d - H:i:s') ." - Parution BALO du $dateAff de $nbAnnonces annonces ($nbPages pages)...". EOL; if ($nbPages>100) { echo date('Y/m/d - H:i:s') .' - ERREUR : Il y a plus de 100 pages d\'annonces !'. EOL; die(); } // On recherche si nous n'avons pas déjà toutes ces annonces en base ! $dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2); $AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'"); $nbAnnDb=$AnnDb[0][0]; if ($nbAnnDb==$nbAnnonces) { echo date('Y/m/d - H:i:s') .' - Toutes les annonces du '. $dateAff .' sont en base !'. EOL; if ($lastJO) { echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL; die(); } $dateCour=getNextDate($dateCour,1); randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes); continue; } elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) { $message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL; echo $message; /* mail('ylenaour@scores-decisions.com', 'JO BALO', $message); mail('lenaoury@gmail.com', 'JO BALO', $message); echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL; die();*/ } $tabAnnonces=explode(''. $page['body'] .' |