[英]Tweepy error (AttributeError: 'str' object has no attribute 'request')
[英]Stream with Tweepy : 'str' object has no attribute 'entities'
我試圖獲取任何包含圖像的推文。 但是當我if media in data.entities:
獲得鳴叫數據時,出現錯誤AttributeError: str object has no attribute entities
。
我嘗試添加到行中
twitterStream = Stream (auth, listener (), include_entities = 1)
但它也不起作用
from tweepy import Stream from tweepy import OAuthHandler from tweepy.streaming import StreamListener import pprint consumer_key = "xxxxxxxxxxxxx" consumer_secret = "xxxxxxxxxxxxxxxxx" access_token = "xxxxxxxxxxxxxxxxxx" access_secret = "xxxxxxxxxxxx" class listener(StreamListener): def on_data(self, data): if 'media' in data.entities: print(data) #for image in data.extended_entities['media']: #print(image['media_url']) #return(True) def on_error(self, status): print ("error") print (status) auth = OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_secret) twitterStream = Stream(auth, listener()) tweets=twitterStream.filter(track=["#picture"])
Tweepy將原始文本數據傳遞給tweepy.StreamListener
的on_data()
方法,該方法用於處理來自API的原始數據(因此您需要解析JSON字符串並tweepy.Status
對象)。
如果處理正常狀態對象,則最好使用on_status()
方法,但要使用on_data()
。 此方法將Tweepy的常規Status對象作為參數,因此您可以照常使用此status對象。
所以下面的代碼
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
print('@on_status')
print(type(status))
print(status.text)
def on_error(self, error_code):
print('@on_error')
print(error_code)
if error_code == 420:
return False
stream = tweepy.Stream(api.auth, MyStreamListener())
stream.filter(track=["#picture"])
將打印如下:
@on_status
<class 'tweepy.models.Status'>
test1! #picture
@on_status
<class 'tweepy.models.Status'>
This is test picture tweet2! #picture
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.