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.
consumer_key = "???"
consumer_secret = "???"
access_token = "???"
access_token_secret = "???"
#Obtenez chacun???Remplacez par.
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 **.
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
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)
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.)
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