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

Réseau/Web Python Discussion :

Problème Urllib2 et google...


Sujet :

Réseau/Web Python

  1. #1
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut Problème Urllib2 et google...
    Bonjour à tous,

    je me suis décidé à me lancer dans l'aventure python (je programme habituellement en C et C++)

    J'expose mon problème :

    Pour l'instant je cherche à récuperer des phrases sur google, pour la connection j'utilise Urllib2.

    Autant cela marche avec pleins de sites web, autant ca ne fonctionne pas avec google, le problème se situe dès l'ouverture de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import urllib2
    url=urllib2.urlopen("http://www.google.com/search?q=programmation")
    voilà les erreurs (j'ai coupé les références aux modules pour plus de lisibilité):

    Traceback (most recent call last):
    File "doc.py", line 5, in ?
    url=urllib2.urlopen("http://www.google.com/search?q=programmation")
    urllib2.HTTPError: HTTP Error 403: Forbidden
    L'erreur est donc un 403 HTTP... Ca fonctionne très bien avec un browser mais pas comme ceci sous python il semblerait...

    Que dois-je faire pour que cela fonctionne ?

    Merci à vous !

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Je crois que PyGoogle est plus adapté

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Pour une meilleure compréhension, tu peux aussi directement te référer au chapitre consacré aux services web SOAP de l'excellent dive into python (en effet, l'API proposée au-dessus est visiblement l'adaptation du code du livre) :

    http://www.diveintopython.org/soap_web_services/index.html

    Illustrée par la recherche sur google :
    http://www.diveintopython.org/soap_web_services/google.html

  4. #4
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Merci à tous deux pour vos réponses.

    En creusant le sujet j'ai trouvé qques pistes concernant cette erreur. En récupérant la page d'erreur, j'ai obtenu ceci :

    Forbidden
    Your client does not have permission to get URL /search?q=programmation from this server. (Client IP address: xxx.xxx.xxx.xxx)

    Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html
    [cut]
    Google n'autorise donc pas les recherches automatisées...

    Il y aurait, je pense, moyen de contourner cette protection en changeant l'user-agent, mais je vais m'en tenir à la solution que vous proposez, qui sera bien plus simple à mettre en oeuvre.

    En vous remerciant.

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    y aurait, je pense, moyen de contourner cette protection en changeant l'user-agent
    C'est tres simple aussi ça ^^ il te suffit d'editer le fichier urllib2.py et de rechercher "Python-urllib/2.1" et de remplacer par luser agent que tu veux

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/07/2008, 16h45
  2. Problème css avec Google AdSense sur FireFox
    Par WerKa dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/04/2008, 14h24
  3. Problème Module Geo::Google
    Par Pinoute dans le forum Modules
    Réponses: 1
    Dernier message: 03/01/2008, 14h48
  4. Réponses: 11
    Dernier message: 17/07/2007, 20h53
  5. problème d'installation google-earth
    Par deny dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/06/2007, 17h36

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