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

Python Discussion :

probleme avec API google finance avec python 3.x


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut probleme avec API google finance avec python 3.x
    Bonjour tous le monde,

    j'ai un probleme avec les API google finance ( ça marche très bien avec python 2.x) , je pense qu'il y a des changements dans python 3.x
    voila le code qui me donne un erreur : TypeError: the JSON object must be str, not 'bytes'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def get_value(identifier):
            get_value_url = 'http://finance.google.com/finance/info?client=ig&q=' + identifier
            value = subprocess.Popen(['curl', '-s', get_value_url], stdout=subprocess.PIPE).communicate()[0]
            j = json.loads(value[5:len(value) - 2])
            return float(j['l'])
    Merci.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    TypeError: the JSON object must be str, not 'bytes'Pour passer de "bytes" a "str", il faut apprendre à utiliser .encode (et pris en compte la spécificité JSON).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Pour passer de "bytes" a "str", il faut apprendre à utiliser .encode (et pris en compte la spécificité JSON).

    - W
    j'ai pas bien compris , tu peux me donner un solution , je suis débutant en python ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par hamzaHDR Voir le message
    tu peux me donner un solution , je suis débutant en python ?
    Tout ce qui est récupéré à l'extérieur d'un programme sont des suites d'octets (bytes) qu'il faut explicitement convertir en "str" (unicode). Ce qui suppose connaître l'encoding utilisé -.
    value.decode('utf-8') devrait fonctionner.
    Mais on ne sait pas comment a été encodé la résultat de la requête http ni celui qui a été utilisé par curl pour l'afficher - c'est pour çà qu'on va préférer utiliser le module "requests".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 58
    Par défaut
    merci @wiztricks pour la réponse, mais ce que j'ai pas compris c'est que le code fonction en python 2.x.
    je sais pas exactement qu'est ce que je dois faire maintenant ?
    tu peux me corriger le code ?

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par hamzaHDR Voir le message
    tu peux me corriger le code ?
    Tu paies combien ?

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par hamzaHDR Voir le message
    merci @wiztricks pour la réponse, mais ce que j'ai pas compris c'est que le code fonction en python 2.x.
    Si le numéro de version est passé de 2 à 3, c'est justement pour signaler que des codes anciens pouvaient ne plus fonctionner

    Citation Envoyé par hamzaHDR Voir le message
    tu peux me corriger le code ?
    non, car çà c'est votre boulot (et il vous serait simple d'ajouter à ce code la ligne que je vous ai suggéré si vous aviez pris le temps d'apprendre à programmer avec Python avec un des nombreux tuto. gratuit qui sont à disposition).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Problèmes avec API Google ou Web?
    Par rocherpat dans le forum Web & réseau
    Réponses: 1
    Dernier message: 12/09/2012, 09h58
  2. probleme d'affichage google map avec proxy
    Par koukou11 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 08/05/2012, 12h04
  3. [C#][WM 6] Page blanche avec API Google Maps V3
    Par ikeabp dans le forum Windows Mobile
    Réponses: 0
    Dernier message: 08/03/2011, 09h29
  4. api google calendar avec javascript
    Par webax dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 08/06/2010, 15h54
  5. Affichage avec api google map
    Par S-Kayp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/10/2008, 13h52

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