[英]What is the fastest way to record real-time data in python with least memory loss
[英]Fastest way to listen to real-time tweets
我正在尋找檢查特定用戶 (TwitterID) 是否實時發推文的最快方法。 為了實現這一點,我使用了 Tweepy 和 stream function,這會導致在大約 -+5 秒內發出推文通知。 有沒有更快的方法來檢查是否有人通過使用另一個庫/請求或代碼優化來發推文?
提前致謝。
import tweepy
TwitterID = "148137271"
class MyStreamListener(tweepy.StreamListener):
def __init__(self, api):
self.api = api
self.me = api.me()
def on_status(self, tweet):
#Filter if ID has tweeted
if tweet.user.id_str == TwitterID:
print("Tweeted:", tweet.text)
def on_error(self, status):
print("Error detected")
print(status)
# Authenticate to Twitter
auth = tweepy.OAuthHandler("x")
auth.set_access_token("Y",
"Z")
# Create API object
api = tweepy.API(auth, wait_on_rate_limit=True,
wait_on_rate_limit_notify=True)
tweets_listener = MyStreamListener(api)
stream = tweepy.Stream(api.auth, tweets_listener)
stream.filter([TwitterID])
我想說大約 5 秒是一個合理的延遲,因為您的程序沒有在與 Twitter 的核心系統相同的服務器上運行。 您受到網絡和 API 延遲的影響,這些事情超出了您的控制范圍。 沒有真正的方法可以重寫此邏輯來更改推文發布與到達 API 之間的時間。 如果您考慮 Twitter 內部發生的內部事情,來自發布的推文並可能被數百萬追隨者傳播,那么 API - 在未知網絡連接的末尾 - 將推文數據獲取到 < 5秒本身就很瘋狂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.