Я использую этот код:Как получить MEDIA_URL из твитов с помощью API Tweepy
import tweepy
from tweepy.api import API
import urllib
import os
i = 1
consumer_key="xx"
consumer_secret="xx"
access_token="xx"
access_token_secret="xx"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.secure = True
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
class MyStreamListener(tweepy.StreamListener):
def __init__(self, api=None):
self.api = api or API()
self.n = 0
self.m = 10
def on_status(self, status):
if 'media' in status.entities:
for image in status.entities['media']:
global i
#picName = status.user.screen_name
picName = "pic%s.jpg" % i
i += 1
link = image['media_url']
filename = os.path.join("C:/Users/Charbo/Documents/Python/",picName)
urllib.urlretrieve(link,filename)
#use to test
print(status.user.screen_name)
else:
print("no media_url")
self.n = self.n+1
if self.n < self.m:
return True
else:
print ('tweets = '+str(self.n))
return False
def on_error(self, status):
print (status)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth, MyStreamListener(),timeout=30)
myStream.filter(track=['#feelthebern'])
Я пытаюсь доступ MEDIA_URL под «фото» в моем словаре. Но я получаю следующую ошибку: объект «dict» не имеет атрибута «media». Я был бы признателен за помощь в навигации JSON.
Заранее благодарен!
Вы пытались увидеть, что все директории (статус) предложения? Я не могу воспроизвести ошибку, так как вы не дали минимальных и полных шагов, чтобы воспроизвести ее, но, используя twiters api, я думаю, что json доступен в виде status._json? – MohitC
@MohitC Я добавил весь свой код. – MarcCharbo