récupérer le contenue d'une page web


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

récupérer le contenue d'une page web

Message le Mer Mar 24, 2010 21:18

Bonjour,

J'utilise le code suivant pour récupérer le contenue d'une page web afin de vérifier si une entreprise est bien enregistrée ou non.
Jusqu'à présent je le fais sur un site non officiel mais le problème c'est qu'il ne contient pas 100% des entreprises française, je voulais donc faire la même chose sur le site de l'insee mais ça coince.

Voilà mon code :
Code: Tout sélectionner

$urlfichier = "http://avis-situation-sirene.insee.fr/avisitu/IdentificationEtabToEntr.do?siren=$siren";
$flux = implode ('', file ($urlfichier));



Mais sur le site de l'insee j'ai cette erreur du coup :

Code: Tout sélectionner

Warning: file(http://avis-situation-sirene.insee.fr/avisitu/IdentificationEtabToEntr.do?siren=) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 500 Erreur Interne de Servlet in wget.php on line 6

Warning: implode() [function.implode]: Bad arguments. in wget.php on line 6



Je patoge, quelqun aurait une idée pour m'aider ?

Merci d'avance,


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: récupérer le contenue d'une page web

Message le Mer Mar 24, 2010 21:22

Ils n'ont peut être pas envie d'etre aspirés ... et donc ils ont fermé les vannes :roll: :?:


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Mer Mar 24, 2010 21:26

Peut être bien que oui, mais dans ce cas quoi faire ? Est il possible de tenter de contourner ?
Perso je ne veux rien aspirer, je veux juste automatiser la vérification de la validité d'un numéro siren.

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 1:57

Si tu veux juste vérifier sa validité, il y a une formule (le dernier chiffre est une clef sur les autres). Si tu veux vérifier que la société existe réellement, il doit y avoir des webservices (payants) pour ça...

Il y a un webservice gratuit sur un site de l'UE pour valider les numéros de TVA intracomm, mais évidemment ce n'est valable que pour les assujettis à la TVA.

Jacques.


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 8:06

Ben il faut que je puisse vérifier si le siren correspond à une entreprise enregistré mais aussi en activité, donc si le siren est cohérent mathématiquement ça ne signifie pas que l'entreprise exerce encore et du coup ça me dérange. Il faut que je sois certain que l'entreprise existe et est en activité avant de bloquer le compte.
Et concernant la TVA, effectivement, le problème c'est que tous les pro ne sont pas forcement assujetti donc ça m'aidera pas non plus.


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4173
Inscription: 27 Déc 2004

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 8:35

As-tu vérifier au niveau des webservices comme le signale jcaron, ca doit certainement exister.


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 8:43

Ben j'ai fais une recherche mais je n'ai rien trouvé de spécial. Comme dit, les sociétés privés qui diffuse ce genre d'info sont souvent en retard de plusieurs mois donc des entreprises fraichement créées vont se retrouver bloqué et d'autre vont continuer à avoir accès alors qu'elle sont en liquidation judiciaire.
C'est pour ça que du coup on veut laisser tomber manageo pour essayer de faire ça avec l'insee.


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4173
Inscription: 27 Déc 2004

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 8:51

cf: condition commerciale d'accès à la BDD sirene http://www.sirene.fr/Conditions_commerciales/default.asp
normal qu'il bloque les aspirations, c'est un service payant et toi ton action peut te valoir une belle amende légalement, non ?


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 9:03

Je n'aspire rien, je consulte, j'ai une entreprise qui s'inscrit comme cliente je vérifie son inscription c'est tout. Je ne vais pas chercher et stocker d'infos sur la société, je les ai déjà. Je pense que ses conditions générales servent pour ceux qui veulent faire de l'envoi de pub sur les nouveaux inscrits ou pour les sociétés privées comme manageo, societe.com etc... qui en font leur outil de travail ce qui est loin d'être mon cas.


Marie-Aude
Modérateur
Modérateur
 
Messages: 11898
Inscription: 5 Juin 2006

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 9:09

La meilleure chose serait sans doute de prendre contact avec eux en leur expliquant ton problème non ? Tu ne dois pas être le seul ^^


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 9:09

Ne peux-tu pas faire la vérification manuelle à postériori ? tu ne dois pas avoir autant de dossiers journaliers


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 9:21

Je pense avoir trouvé une piste, il faudrait que je gère les sessions dans une autre méthode que j'ai testé qui renvoi la même erreur.

Le code en post sur la page de destination :

Code: Tout sélectionner
<?php

// on définit l'URL du fichier
$urlfichier = "http://avis-situation-sirene.insee.fr/avisitu/IdentificationEtabToEntr.do";



// Définition des champs du formulaire POST
$donnees = array('siren' => '$siren', 'critere' => 'A' );



// Définition de la fonction d'encodage des headers
function http_build_headers( $headers ) {

       $headers_brut = '';

       foreach( $headers as $nom => $valeur ) {
               $headers_brut .= $nom . ': ' . $valeur . "\r\n";
       }

       return $headers_brut;
}

// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );

// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );

// Définition du contexte
$options = array( 'http' => array( 'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0',
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );

// Création du contexte
$contexte = stream_context_create( $options );

// Envoi du formulaire POST
$retour = file_get_contents( "$urlfichier", false, $contexte );


echo $retour;

?>



J'ai quelque dizaine de vérification par jour pour les nouvelles inscriptions et ensuite une vérification périodique pour vérifier que les entreprises soit toujours en activité.

J'ai peut être une piste qu'il faut que j'explore, je crois que le site gère les sessions, même si j'attaque directement la bonne url ça bloque peut être, il faudrait que j'arrive à gérer les sessions dans mon script pour voir.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 10:37

Bref :

1 - c'est explicitement interdit par le site
2 - Qui en plus a mis en place un blocage pour confirmer cette interdiction
3 - tu persistes a tout simplement vouloir ne pas respecter la volonté du site

:roll:


johnny-57
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 20 Avr 2007

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 10:50

Ils interdisent d'aspirer le contenue du site ce que je ne fais pas. Je me contente de consulter sans rien extraire, j'appel pas ça aspirer.


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4173
Inscription: 27 Déc 2004

Re: récupérer le contenue d'une page web

Message le Jeu Mar 25, 2010 10:55

Ok ce n'est pas l'aspiration à proprement parler.
MAIS tu te sers de leur base (en consultation on l'a bien compris) en automatique et c'est là qu'est la différence avec la consultation autorisée, c'est à dire à la mano.
pour moi tu es clairement en violation avec leur règles, mais comme le dit Marie-aude le mieux est peut être de les contacter directement, à moins que tu n'ai peur de leur réponse..

récupérer le contenue d'une page web

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité