[英]I want to set the limit of maximum number of Tweets
我對python很陌生。 我正在使用 tweepy 庫通過 Twitter 流 API 抓取推文。 但似乎連接在運行一個小時后斷開了。 我想知道是否有任何方法可以在連接中斷之前阻止程序運行。 簡而言之,限制推文。
我已經嘗試過 .items 方法,但它沒有工作,因為它給出了名稱錯誤。
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ckey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
csecret="xxxxxxxxxxxxxxxxxxxxxx"
atoken="xxxxxxxxxxxxxxxxxxxxx"
asecret="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
class listener(StreamListener):
def on_data(self, data):
print(data)
return(True)
def on_error(self, status):
print status
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["Obama"])
謝謝
要解決您的連接問題,請從以下方面獲得幫助:
Tweepy 連接中斷:IncompleteRead - 處理異常的最佳方法? 或者,線程可以幫助避免嗎?
要實現推文限制,您可以在獲取所需數量的推文時從類def on_data
方法return False
。 在init
方法中設置最大推文數並使用try and except
進行錯誤處理。 這可能有幫助
def __init__(self):
super().__init__()
self.max_tweets = 10
self.tweet_count = 0
def on_data(self, data):
try:
data
except TypeError:
print(completed)
else:
self.tweet_count+=1
if(self.tweet_count==self.max_tweets):
print("completed")
return(False)
else:
decoded = json.loads(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.