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 :

Recuperer les resultats d'une recherche (urllib/urllib2)


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut Recuperer les resultats d'une recherche (urllib/urllib2)
    Bonsoir, j'essaye de recuperer les resultats que donne un moteur de recherche dans un programme.

    Le probleme c'est qu'avec google (que je souhaite utilise) la requete que j'effectue me retourne une erreur.

    Par exemple juste avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import urllib2
    urllib2.urlopen("http://www.google.com/seach?q=mot")
    J'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    File "K:\Python25\lib\urllib2.py", line 499, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 403: Forbidden
    Est ce qu'il y'a un moyen de contourner cette erreur par exemple en modifiant le header de la requete ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    et en utilisant urllib ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import urllib
    urllib.urlopen("http://www.google.com/seach?q=mot")

  3. #3
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut
    search* pas search dans l'url (petite faute de frappe)

    Sinon urllib j'avais deja essaye, le resultat est sensiblement le meme, juste un peu plus details.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import urllib
    query = urllib.urlopen("http://www.google.com/search?q=mot")
    f = open("out.html", "w")
    f.write(query.read())
    f.close()
    Le contenu de mon fichier HTML de sortie commence par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Forbidden
    Your client does not have permission to get URL /search?q=mot from this server. (Client IP address: xx.xxx.xxx.xxx)
     
    Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html

  4. #4
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut
    Trouve, c'etait bien possible en modifiant le header

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    request = urllib2.Request('')
    request_headers = { 'User-Agent': 'MyBrowser/0.1' }
    request = urllib2.Request('http://www.google.com/search?q=mot', None, request_headers)
    query = urllib2.urlopen(request)
    Resolu

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

Discussions similaires

  1. Recuperer les resultats d'une source de données
    Par xoorus dans le forum WinDev
    Réponses: 7
    Dernier message: 18/01/2012, 11h38
  2. recuperer les resultat d'une structure
    Par automa dans le forum Images
    Réponses: 0
    Dernier message: 21/04/2010, 07h57
  3. DataSet , Recuperer les resultats d'une requete
    Par siro1 dans le forum Windows
    Réponses: 10
    Dernier message: 01/10/2009, 17h39
  4. [DOM] recuperer les resultat d'une requete
    Par naouah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 17h13
  5. recuperer ler resultat d une procedure stockée
    Par Nadaa dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2004, 08h45

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