Partage
  • Partager sur Facebook
  • Partager sur Twitter

API Mouser enPython

python exe

    3 février 2023 à 11:36:59

    Bonjour,

    Je cherche à e développer un exe Python pour obtenir prix et stock de composant électronique automatiquement à l'aide des liens contenue dans un tableau excel.

    J'ai compris que pour cela il faut utiliser une API-Key que je me suis procuré, afin de pouvoir accéder à leurs données.

    Je souhaitais savoir si quelqu'un aurais quelques exemples de code python simples utilisant l'API mouser ou autre en python.

    • Partager sur Facebook
    • Partager sur Twitter
      3 février 2023 à 16:51:16

      c'est l'utilisation "classique" de requête GET/POST. Les données à fournir sont indiqué dans la doc de l'API https://api.mouser.com/api/docs/ui/index avec les données à récupérer (et traiter) en JSON (après avoir la demande de clé pour l'API, pour ton besoin tu as devrait utiliser l'API seach qui permet de faire une recherche par partnumber par exemple)

      Exemple (il faudra rajouter la phase d'authentification)

      import requests
      
      search_partnumber={
        "SearchByPartRequest": {
          "mouserPartNumber": "2N2222",
          "partSearchOptions": ""
        }
      }
      
      response = requests.post('https://httpbin.org/post', json=search_partnumber)
      if response.status_code = 200: # réponse OK
          # traiter le json de résultats, cf doc)
      else:
          print(f"erreur: {response.content}")
      

      ou avec le module mouser-api https://github.com/sparkmicro/mouser-api qui s'occupe de faire l'authentification en utilisant la clé dans un fichier (cf la doc du module)

      from mouser.api import MouserPartSearchRequest
      
      file_keys='mouser_api_keys.yaml'):
      partnumber = 'DMP2066LSN-7'
      
      request = MouserPartSearchRequest('partnumber', file_keys=file_keys)
      success = request.part_search(partnumber)
      if success:
          part = request.get_clean_response()
          print(part['Manufacturer'])
          print(part['ManufacturerPartNumber'])
          print(part['MouserPartNumber'])
          print(part['PricesBreaks']['Price'],part['PricesBreak']['Currency'])

      (code fait en fouinant dans le code de test du module https://github.com/sparkmicro/mouser-api/blob/d62544862af612df28f6e4237b614cab112eda2c/tests/test_mouser.py#L9 )


      -
      Edité par umfred 3 février 2023 à 17:25:39

      • Partager sur Facebook
      • Partager sur Twitter
        6 février 2023 à 9:23:07

        .

        -
        Edité par N12ico 6 février 2023 à 9:51:35

        • Partager sur Facebook
        • Partager sur Twitter
          7 février 2023 à 15:44:44

          C'est bon j'ai réussi merci pour ton aide.

          Ton exemple fonctionne, juste pour demander les prix la syntaxe j'utilise la suivante : ['PriceBreaks'][0]['Price']

          • Partager sur Facebook
          • Partager sur Twitter
            7 février 2023 à 17:41:18

            Effectivement, j'avais raté le fait que PriceBreaks était une liste dans la réponse json
            • Partager sur Facebook
            • Partager sur Twitter
              9 février 2023 à 14:31:00

              Maintenant je bloque pour faire la même chose avec l'API de chez Digikey, je sais que cela semble ridicule mais les codes que je trouve ne fonctionnent je n'arrrive pas à les faires marcher

              https://github.com/peeter123/digikey-api

              https://pypi.org/project/kicost-digikey-api-v3/

              -
              Edité par N12ico 9 février 2023 à 14:31:52

              • Partager sur Facebook
              • Partager sur Twitter
                10 février 2023 à 12:45:56

                il faut faire un KeywordSearch; ça va renvoyer (si requête OK) un json dont une des clés sera Products qui sera une liste de produits, et dans chaque produit, il y a la clé UnitPrice qui devrait donner le prix (il faut déployer le modèle de la réponse "200" à la requête https://developer.digikey.com/products/product-information/partsearch/keywordsearch )

                Pour faire les requêtes, il faut un token d'identification ET un id d'application

                 https://developer.digikey.com/documentation/oauth 

                https://developer.digikey.com/documentation/developer 

                • Partager sur Facebook
                • Partager sur Twitter
                  14 février 2023 à 14:55:15

                  Merci encore pour ton aide @umfred
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 février 2023 à 18:00:46

                    Je ne fais que bien lire la doc ^^
                    • Partager sur Facebook
                    • Partager sur Twitter

                    API Mouser enPython

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown