簡體   English   中英

我想設置最大推文數的限制

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM