IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

file_get_contents sur des pages wikipedia [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 47
    Points : 43
    Points
    43
    Par défaut file_get_contents sur des pages wikipedia
    Bonjour à tous,

    Voila j'ai un petit projet de dev, en gros il faut réaliser un site présentant les candidats à la présidentielle. Enfin bref, j'ai eu l'idée d'intégrer une partie de la page wiki des candidats sur mon site.

    Pour faire ça j'utilise AJAX, qui va lui appeler un script PHP qui s'occupe de faire le file_get_contents. Le problème que je rencontre est que le file_get_contents ne fonctionne que sur certaines pages ... Et lorsque ça ne fonctionne pas, j'obtiens ce message : "Scripts should use an informative User-Agent string with contact information, or they may be IP-blocked without notice.".

    Voici le code avec 3 URL en exemple (pour tester le cas qui fonctionne dé-commenter Sarkozy).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
     
    //$url = 'http://fr.m.wikipedia.org/wiki/Francois_Bayrou';
    //$url = 'http://fr.m.wikipedia.org/wiki/Nicolas_Sarkozy';
    //$url = 'http://fr.m.wikipedia.org/wiki/François_Hollande';
     
     
    $ctx = stream_context_create(array(
        'http' => array(
            'timeout' => 5,
            'ignore_errors' => true
            )
        )
    );
     
    $start = microtime(true);
    $content = @file_get_contents($url, false, $ctx);
    $end = microtime(true);
    echo $end - $start, "\n";
    echo $content;
     
    ?>
    Si quelqu'un à une idée de pourquoi ça ne fonctionne pas sur toutes les pages, je suis preneur parce que je sèche complètement la :/.

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    utilise l'api de wikipedia

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 47
    Points : 43
    Points
    43
    Par défaut
    Problème résolu Wikipedia me prenait pour un bot. J'ai ajouté un user_agent et ça passe. Plus de détails ici :

    http://www.xqus.com/changing-phps-us...mcontextcreate

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par crazymonkey Voir le message
    Problème résolu Wikipedia me prenait pour un bot. J'ai ajouté un user_agent et ça passe. Plus de détails ici :

    http://www.xqus.com/changing-phps-us...mcontextcreate
    t'as pas a faire, le data mining est tres mal vu, utilise les API, ca sera plus simple et plus propre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. chrono en javascript sur des page php
    Par sheisqo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/10/2008, 17h29
  2. Afficher des courbes sur des pages web
    Par totempat dans le forum Simulink
    Réponses: 2
    Dernier message: 03/09/2008, 17h19
  3. Utlisation d'autres langues sur des pages ASP.NET 2005
    Par nkonito dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/07/2007, 15h56
  4. [Joomla!] Placer des liens externes sur des pages statiques
    Par BRMAR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/07/2007, 18h04
  5. Réponses: 1
    Dernier message: 26/02/2007, 09h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo