[PYTHON] Si vous voulez être guéri par l'image de Mia Nanasawa, appuyez sur l'API Twitter ♪

introduction

Cette fois, nous traiterons de ** l'API Twiiter ** dans l'API Web. En utilisant l'API Twiiter, les deux points suivants peuvent être effectués automatiquement.

① Obtenez des articles qui répondent à des conditions spécifiques ② Publiez automatiquement avec votre propre compte

Cette fois, je vais exécuter ①.

Nous allons automatiquement acquérir les images publiées à partir du Tweet de ** Mia Nanasawa ** qui est active en tant qu'actrice audiovisuelle et qui me doit le plus.

Obtenez des clés et des jetons Twitter

consumer_key = "???"
consumer_secret = "???"
access_token = "???"
access_token_secret = "???"
#Obtenez chacun???Remplacez par.

Obtenez le compte Twitter de Mia Nanasawa et le nombre d'abonnés

Pour plus de détails sur le code ci-dessous https://kurozumi.github.io/tweepy/getting_started.html#hello-tweepy Il est écrit.

def show_user_profile():
  user = api.get_user('mia_nanasawa')
  print(user.screen_name) #Obtenir le nom du compte
  print(user.followers_count) #Obtenez des abonnés
データ

À partir de l'image Twitter ci-dessous, vous pouvez voir que vous avez correctement obtenu ** nom de compte ** et ** nombre d'abonnés **.

データ

Obtenir des informations sur le Tweet de Mia Nanasawa (plusieurs images)

Comment utiliser user_timeline https://kurozumi.github.io/tweepy/api.html Il est écrit.

def show_media_url():
  user_id = "mia_nanasawa"
  statuses = api.user_timeline(id=user_id, count=4)

  count = 1
  for status in statuses:
    for entity in status.extended_entities["media"]:
      img_url = entity["media_url"]
      print(img_url)
    break

Télécharger l'image

def download_image(url, file_path):
  r = requests.get(url, stream=True)

  if r.status_code == 200:
    with open(file_path, "wb") as f:
      f.write(r.content)

Courir

Comment utiliser le curseur https://kurozumi.github.io/tweepy/cursor_tutorial.html Il est écrit.

def main():
  user_id = "mia_nanasawa"
  for page in tweepy.Cursor(api.user_timeline, id=user_id).pages(20):
    for status in page:
      try:
        for media in status.extended_entities["media"]:
          media_id = media["id"]
          img_url = media["media_url"]
          print(media_id)
          print(img_url)

          #Dans le répertoire courant"Créez un "dossier images".
          download_image(url=img_url, file_path="./images/{}.jpg ".format(media_id))

      #Si une erreur se produit lors d'un essai, une exception est générée et une boucle est exécutée.
      except Exception as e:
        print(e)
        #Il peut y avoir une erreur lors du tweet avec une vidéo.

if __name__ == "__main__":
    main()
データ

À partir de la sortie ci-dessus, vous pouvez voir qu'une certaine ** gestion des erreurs ** s'est produite. Il est probable que le Tweet contienne des ** vidéos ** plutôt que des fichiers image. (À propos, l'image tweetée a été acquise correctement.)

résultat

データ

J'ai pu confirmer qu'il a été correctement enregistré dans le fichier d'images.

Maintenant, vous avez un bonbon pour les yeux.

Recommended Posts

Si vous voulez être guéri par l'image de Mia Nanasawa, appuyez sur l'API Twitter ♪
Le programme Python est lent! Je veux accélérer! Dans ce cas ...
Je veux voir le graphique en 3D! Je peux réaliser un tel rêve.
Je veux imprimer dans la notation d'inclusion
Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib
Je veux être maudit par une jolie fille à chaque fois que je sudo! !!
Je souhaite trier une liste dans l'ordre des autres listes
[LINE Messaging API] Je souhaite envoyer un message du programme à tout le monde LINE
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Je veux créer une fenêtre avec Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Je pensais qu'il serait lent d'utiliser l'instruction for dans NumPy, mais ce n'était pas le cas.
Je veux afficher la progression en Python!
Utilisez l'API Twitter pour réduire le temps nécessaire à Twitter (créer une chronologie de mise en évidence (comme))
Je veux facilement implémenter le délai d'expiration en python
Je veux que DQN Puniki frappe un home run
100 coups sur le traitement d'image !! (021-030) Je veux faire une pause ...
Je veux faire la transition avec un bouton sur le ballon
Je veux écrire en Python! (2) Écrivons un test
Je veux échantillonner au hasard un fichier avec Python
Je veux travailler avec un robot en python.
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
J'ai essayé de créer une API RESTful en connectant l'API rapide du framework Python explosif à MySQL.
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Je souhaite enregistrer les photos envoyées par LINE vers S3
Je veux rendre le type de dictionnaire dans la liste unique
Je veux aligner les nombres valides dans le tableau Numpy
Je veux que Sphinx soit pratique et utilisé par tout le monde
Je veux pouvoir exécuter Python avec VS Code
Je veux ajouter un joli complément à input () en python
Je veux créer un Dockerfile pour le moment.
J'ai écrit un script qui divise l'image en deux
Je ne voulais pas écrire la clé AWS dans le programme
Je souhaite améliorer l'efficacité avec Python même dans le système expérimental (5) Je souhaite envoyer une notification à la fin de l'expérience avec l'API slack
Je veux créer un graphique avec des lignes ondulées au milieu avec matplotlib (je veux manipuler l'impression)
[Twitter] Je veux faire des tweets téléchargés (de mon compte) dans un beau CSV
Je veux éviter les problèmes de saisie lors du débogage de l'exemple de vérification des compétences de Paiza dans un environnement local tel que Jupyter [Python]
Un moyen simple d'accéder à l'API produit Amazon en Python
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
Exporter le contenu acquis par Twitter Streaming API au format JSON
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
J'ai créé une bibliothèque Python pour appeler l'API de LINE WORKS
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
Accédez à l'API New Relic en Python pour obtenir l'état du serveur
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
Je veux créer un système pour éviter d'oublier de serrer la clé 1
Je veux créer un fichier pip et le refléter dans le menu fixe
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
J'ai essayé de couper une image fixe de la vidéo
Je veux réussir le test G dans un mois Jour 1
Je veux connaître la population de chaque pays du monde.
J'ai fait une commande pour afficher un calendrier coloré dans le terminal
Notez que vous souhaitez décorer manuellement les paramètres passés dans le formulaire du modèle Django élément par élément
Je souhaite recevoir le fichier de configuration et vérifier si le fichier JSON généré par jinja2 est un JSON valide
Je veux charger le projecteur pytest en tant que bibliothèque ailleurs (pytest peut ne pas exister dans l'environnement)
Je veux utiliser quatre règles compliquées dans l'instruction IF du modèle Django! → Utilisez un modèle personnalisé