Recherche par siren
This commit is contained in:
parent
af613793ee
commit
445290db96
@ -1,7 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* crontab
|
||||
* Crontab
|
||||
* 0 9 * * 1-5 /var/www/batch/getAsso.php -c >> /var/www/log/getAsso.log
|
||||
*
|
||||
* Recherche
|
||||
*
|
||||
* Compte initial
|
||||
* http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JTY_SIREN=776467102&JPA_D_D=&JPA_D_F=&rechercher.x=0&rechercher.y=0
|
||||
*
|
||||
*/
|
||||
|
||||
// Define path to application directory
|
||||
@ -288,74 +294,86 @@ Sinon:
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
-l Dernier JO Association uniquement (*)
|
||||
-c Dépôts des comptes uniquement
|
||||
-s:123456789 Recherche par siren
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-v Vérifier que toutes les annonces du JO sont en base !
|
||||
";
|
||||
|
||||
$depotComptes=false;
|
||||
$siren = null;
|
||||
|
||||
$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);
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
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 'v':
|
||||
$verif=true;
|
||||
break;
|
||||
case 'c':
|
||||
$depotComptes=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
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);
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
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 'v':
|
||||
$verif=true;
|
||||
break;
|
||||
case 'c':
|
||||
$depotComptes=true;
|
||||
break;
|
||||
case 's':
|
||||
$siren = substr($argv[$i],3,9);
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($depotComptes)
|
||||
$tabReg=array( 'ASSOCIATION%2FCOMPTE',
|
||||
'FONDATION%2FCOMPTE',
|
||||
'FONDS+DE+DOTATION%2FCOMPTE',
|
||||
'AUTRE%2FCOMPTE',
|
||||
);
|
||||
else
|
||||
$tabReg=array( 'ASSOCIATION%2FCREATION',
|
||||
'ASSOCIATION%2FMODIFICATION',
|
||||
'ASSOCIATION%2FDISSOLUTION',
|
||||
'ASL',
|
||||
'FONDATION',
|
||||
'DECISION+JUSTICE',
|
||||
'AUTRE',
|
||||
'FONDS+DE+DOTATION',
|
||||
);
|
||||
if ($depotComptes) {
|
||||
$tabReg = array(
|
||||
'ASSOCIATION%2FCOMPTE',
|
||||
'FONDATION%2FCOMPTE',
|
||||
'FONDS+DE+DOTATION%2FCOMPTE',
|
||||
'AUTRE%2FCOMPTE',
|
||||
);
|
||||
} else {
|
||||
$tabReg = array(
|
||||
'ASSOCIATION%2FCREATION',
|
||||
'ASSOCIATION%2FMODIFICATION',
|
||||
'ASSOCIATION%2FDISSOLUTION',
|
||||
'ASL',
|
||||
'FONDATION',
|
||||
'DECISION+JUSTICE',
|
||||
'AUTRE',
|
||||
'FONDS+DE+DOTATION',
|
||||
);
|
||||
}
|
||||
|
||||
$iDb=new WDB();
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$referer='http://www.journal-officiel.gouv.fr/association/';
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
if ($verif) {
|
||||
echo date('Y/m/d - H:i:s') ." - Comptage du nombre d'annonce présentes en base par date de parution...". EOL;
|
||||
$AnnDb=$iDb->select('asso', 'Date_Parution, count(*) as nb', '1 GROUP BY Date_Parution');
|
||||
@ -374,19 +392,22 @@ if ($verif) {
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / $nbAnnonces annonces parues !". EOL;
|
||||
elseif ($nbAnnonces==0)
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / Plus d'annonces sur le site JO.". EOL;
|
||||
//die(print_r($body));
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
//die();
|
||||
}
|
||||
}
|
||||
|
||||
die();
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
if ($lastJO==true) {
|
||||
$strLast=' dernier';
|
||||
$strDates='';
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
else {
|
||||
$strLast='';
|
||||
if ($depotComptes) {
|
||||
@ -410,19 +431,30 @@ 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 Association$strDates".EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
|
||||
|
||||
$message = '';
|
||||
|
||||
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
|
||||
//echo date ('Y/m/d - H:i:s') ." - dateCour($dateCour) <= dateF($dateF) OU lastJO($lastJO)=true". $eol;
|
||||
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
|
||||
|
||||
if ($lastJO==true) { // Cas récup dernier JO
|
||||
// Boucle sur les dates
|
||||
while ($dateCour<=$dateF || $lastJO)
|
||||
{
|
||||
// Boucle sur les régions
|
||||
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++)
|
||||
{
|
||||
// Recherche par siren
|
||||
if ($siren !== null) {
|
||||
$url = 'http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID='.$region.'&JTY_WALDEC=&JTY_SIREN='.$siren.'&JPA_D_D=&JPA_D_F=&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
|
||||
// Cas récup dernier JO
|
||||
} elseif ($lastJO==true) {
|
||||
$region='';
|
||||
$reg5=substr($region,0,5);
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=showLast';
|
||||
} else { // On est pas dans la récupération du JO Assoc Jiur
|
||||
}
|
||||
// On est pas dans la récupération du JO Assoc Jiur
|
||||
else {
|
||||
$region=$tabReg[$i_reg];
|
||||
$reg5=substr($region,0,5);
|
||||
$dateFmt=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
|
||||
@ -430,11 +462,11 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
|
||||
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour,0)));
|
||||
else
|
||||
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour)));
|
||||
//$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID='.urlencode($tabReg[$i_reg]).'&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2;//&rechercher.x=44&rechercher.y=6&rechercher=Rechercher
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID='.$region.'&JTY_WALDEC=&JTY_SIREN=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
|
||||
// http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=ASSOCIATION%2FCOMPT&JTY_WALDEC=&JTY_SIREN=&JPA_D_D=01%2F01%2F1990&JPA_D_F=31%2F12%2F2009&rechercher.x=40&rechercher.y=9&rechercher=Rechercher
|
||||
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID='.$region.'&JTY_WALDEC=&JTY_SIREN=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
|
||||
$strLast='';
|
||||
}
|
||||
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
|
||||
$body=$page['body'];
|
||||
//die(print_r($body));
|
||||
|
Loading…
Reference in New Issue
Block a user