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

WRInaute occasionnel
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:
$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:
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,
 
WRInaute accro
Ils n'ont peut être pas envie d'etre aspirés ... et donc ils ont fermé les vannes :roll: :?:
 
WRInaute occasionnel
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.
 
WRInaute accro
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.
 
WRInaute occasionnel
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.
 
WRInaute occasionnel
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.
 
WRInaute occasionnel
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.
 
WRInaute accro
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 ^^
 
WRInaute accro
Ne peux-tu pas faire la vérification manuelle à postériori ? tu ne dois pas avoir autant de dossiers journaliers
 
WRInaute occasionnel
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:
<?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.
 
WRInaute accro
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:
 
WRInaute occasionnel
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.
 
WRInaute accro
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..
 
WRInaute accro
johnny-57 a dit:
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.
Heu ote moi d'un doute :

aspirer c'est bien : lire de façon automatisée le contenu d'une page, et utiliser tout ou partie de cette page pour un autre usage que la consultation en ligne non (dans ton cas valider une info) ?

:roll:
 
WRInaute occasionnel
Non, aspirer ce n'est pas lire, aspirer c'est avaler des infos et les stocker.

L'insee dit :

En vertu du droit que lui donne l'article L342-1 du code de la propriété intellectuelle, l'Insee interdit le téléchargement de la totalité ou d'une partie quantitativement substantielle de cette base par utilisation de robots ou de tout autre procédé d'extraction automatique.

La propriété intellectuelle n'interdit pas de lire un livre, elle interdit juste de le dupliquer sans l'autorisation de l'auteur, là c'est pareil.
On interdit pas de lire le contenue de leur base seulement de le copier.
Je ne fais que lire une information, de manière automatique soit, mais uniquement lire sans conserver quelque information que ce soit. Je ne suis pas qu'un développeur de site web, j'exerce des fonctions de directions depuis 14 ans et je fais du droits depuis tout aussi longtemps, je sais interpréter un texte quand j'en lis un et ici le texte n'interdit pas la consultation mais simplement la duplication de la base puisque l'insee commercialise sa base.
De toute façon je leur ai envoyé un email leur exposant clairement mon besoin on verra bien ce qu'ils vont me répondre.

Pour refaire une image, quand tu passe l'aspirateur chez toi il ne se contente pas de regarder la saleté au sol, il l'avale, sur le web c'est pareil ;)
 
Discussions similaires
Haut