Я пытаюсь написать простую python программу, которая использует tweepy API для твиттера и wget для получения ссылки на изображение из идентификатора поста в твиттере (Пример: twitter.com/ExampleUsername/12345678 ), затем загрузите изображение по ссылке. Реальная программа работает нормально, но есть проблема. Хотя он выполняет FOR для каждого идентификатора в словаре (если имеется 2 идентификатора, он запускается 2 раза), он не использует каждый идентификатор, поэтому сценарий в итоге просматривает последний идентификатор в словаре, а затем загружает изображение из этого один и тот же идентификатор, однако много раз есть идентификатор в словаре. Кто-нибудь знает, как заставить скрипт запускаться снова для каждого идентификатора?
tl; dr Я хочу, чтобы программа посмотрела на первый идентификатор, взяла ссылку на его изображение, скачала его и затем сделала то же самое со следующим ID, пока не будут выполнены все идентификаторы.
#!/usr/bin/env python
# encoding: utf-8
import tweepy #https://github.com/tweepy/tweepy
import wget
#Twitter API credentials
consumer_key = "nice try :)"
consumer_secret = "nice try :)"
access_key = "nice try :)"
access_secret = "my, this joke is getting really redundant"
def get_all_tweets():
#authorize twitter, initialize tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
id_list = [1234567890, 0987654321]
# Hey StackOverflow, these are example ID's. They won't work as they're not real twitter ID's, so if you're gonna run this yourself, you'll want to find some twitter IDs on your own
# tweets = api.statuses_lookup(id_list)
for i in id_list:
tweets = []
tweets.extend(api.statuses_lookup(id_=id_list, include_entities=True))
for tweet in tweets:
spacefiller = (1+1)
# this is here so the loop runs, if it doesn't the app breaks
a = len(tweets)
print(tweet.entities['media'][0]['media_url'])
url = tweet.entities['media'][0]['media_url']
wget.download(url)
get_all_tweets()
Спасибо, ~ CS