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

Déploiement/Installation Python Discussion :

Utilisation de instagram_private_api


Sujet :

Déploiement/Installation Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Points : 13
    Points
    13
    Par défaut Utilisation de instagram_private_api
    Bonjour,

    je souhaiterais utiliser cette api
    https://github.com/ping/instagram_private_api

    Mais je ne comprends pas vraiment comment l'utiliser. J'ai plusieurs questions!

    Pour la connexion, ils donnent cela:
    Option 1: Use the official app's API
    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
     
    from instagram_private_api import Client, ClientCompatPatch
     
    user_name = 'YOUR_LOGIN_USER_NAME'
    password = 'YOUR_PASSWORD'
     
    api = Client(user_name, password)
    results = api.feed_timeline()
    items = [item for item in results.get('feed_items', [])
             if item.get('media_or_ad')]
    for item in items:
        # Manually patch the entity to match the public api as closely as possible, optional
        # To automatically patch entities, initialise the Client with auto_patch=True
        ClientCompatPatch.media(item['media_or_ad'])
        print(item['media_or_ad']['code'])
    Question 1: A quoi sert cette partie?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    results = api.feed_timeline()
    items = [item for item in results.get('feed_items', [])
             if item.get('media_or_ad')]
    for item in items:
        # Manually patch the entity to match the public api as closely as possible, optional
        # To automatically patch entities, initialise the Client with auto_patch=True
        ClientCompatPatch.media(item['media_or_ad'])
        print(item['media_or_ad']['code'])
    De plus, ils avertissent qu'il faut réutiliser les cookies et donnent un exemple ici:
    https://github.com/ping/instagram_pr...gincallback.py
    Question 2:Comment m'en servir?

    En fouillant les questions, j'ai trouvé cette autre façon plus courte de réutiliser les cookies:
    https://github.com/ping/instagram_pr...api/issues/349
    Elle est beaucoup plus courte et j'arrive à la comprendre.
    Question 3:est ce équivalent à l'exemple précédent?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 241
    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 241
    Points : 36 698
    Points
    36 698
    Par défaut
    Salut,

    Citation Envoyé par DantonLuc Voir le message
    je souhaiterais utiliser cette api
    https://github.com/ping/instagram_private_api

    Mais je ne comprends pas vraiment comment l'utiliser.
    Ce n'est pas une API mais une bibliothèque qui permet au programmeur Python d'utiliser l'API Instagram (qui définit le quoi).
    Dit autrement il faut savoir comment s'utilise l'API d'Instagram pour utiliser cette bibliothèque...

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

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse. J'ai installé avec pip et je voudrais faire un test.

    Comment faire si je veux utiliser la fonction post_like?
    https://instagram-private-api.readth...ient.post_like

    Je me connecte avec ca
    https://github.com/ping/instagram_pr...api/issues/349

    Puis je fais appel à la fonction post_like en précisant le media_id. Mais sous quelle forme? l'adresse du post?

    Merci encore

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Points : 13
    Points
    13
    Par défaut
    J'ai tenté de me connecter comme cela:

    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
    24
    25
     
    ##simple solution for reusing cookies
    from instagram_private_api import Client
    import pickle
    import os
     
     
    #write binary file with api.settings
    def writeSettings(user,pwd,settings_file):
        api = Client(user,pwd)
        with open(settings_file,"wb") as FileObj:
             pickle.dump(api.settings,FileObj)
    #read binary file to api.settings
    def readSettings(settings_file):
        cache = None
        with open(settings_file,"rb") as FileObj:
            cache = pickle.load(FileObj)
        return cache
    if not os.path.exists("settingObj"):
        writeSettings("user","pwd","settingObj")
     
    user_name = 'monNom'
    password = 'monMotdepasse'   
    cache_settings = readSettings("settingObj")
    api = Client(user_name, password, settings=cache_settings)
    Sans succès.

    Par contre, j'ai réussi avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    from instagram_private_api import Client, ClientCompatPatch
     
    user_name = 'monNom'
    password = 'monMotdepasse'
     
    api = Client(user_name, password)
    results = api.feed_timeline()
    items = results.get('items', [])
    for item in items:
        # Manually patch the entity to match the public api as closely as possible, optional
        # To automatically patch entities, initialise the Client with auto_patch=True
        ClientCompatPatch.media(item)
        print(media['code'])
    Et j'ai eu les posts de mon feed!

    Comment je fais pour réutiliser le cookie comme préciser dans la notice?
    L'exemple https://github.com/ping/instagram_pr...gincallback.py ne m'aide pas trop

    Merci

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 16h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 15h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 13h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 17h01
  5. Réponses: 2
    Dernier message: 21/03/2002, 00h01

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