طريقة Tweepy Stream.filter () لا تعمل بشكل صحيح
سؤال
لدي بعض المشاكل مع API Tweepy.
أحاول فقط أن أكتب تطبيقًا صغيرًا يحصل لي على دفق من مستخدم واحد (خام أكثر) ، ولكن سيكون على ما يرام للبدء ؛-)
الآن: الرمز الخاص بي مثل ذلك:
def main():
config = ConfigParser.ConfigParser()
config.read('twitter.cfg')
username = config.get('Twitter', 'username')
password = config.get('Twitter', 'password')
listener = StreamWatcherListener()
stream = tweepy.Stream(username, password, listener, timeout=None)
stream.filter('132897940')
في StreamWatcherListener ، لدي طريقة "ON_STATUS" التي تطبع نص الحالة ، كلما وصلت واحدة جديدة (يبدو أن كل شيء يعمل ، عندما أحاول Stream.sample () بدلاً من Stream.filter ())
المعرف المحدد هو حساب Test Test ، لذلك كلما قمت بتغريد ، يجب أن أحصل على بعض الاستجابة في وحدة التحكم .... لكن لا شيء يحدث.
عندما أحاول
curl -d @following http://stream.twitter.com/1/statuses/filter.json -uAnyTwitterUser:Password
في المحطة كما يمكن أن أجد في واجهة برمجة تطبيقات Twitter ، كل شيء يعمل بشكل جيد.
لذلك ربما أستفيد خطأ من الفلتر ()-الطريقة؟
أي اقتراحات؟
-أي
المحلول
لقد وجدت ذلك بنفسي
ال stream.filter()
الطريقة تحتاج إلى صفيف
لذلك اضطررت إلى رمز
stream.filter(['1234567'])
وآخرون
نصائح أخرى
class TweetListener(StreamListener):
def on_status(self,status):
print "TWEET ARRIVED!!!"
print "Tweet Text : %s" % status.text
print "Author's name : %s" % status.author.screen_name
print "Time of creation : %s" % status.created_at
print "Source of Tweet : %s" % status.source
time.sleep(10)
return True
def on_error(self, status):
print status
if status == 420:
print "Too soon reconnected, Exiting!!"
return False
sys.exit()
def search_tweets():
twitterStream = Stream(connect().auth, TweetListener())
twitterStream.filter(track=['Cricket','Maths','Army','Sports'],languages = ["en"],async=True)
هنا استخدمت المعلمة ASYNC ، يتم تشغيل كل دفق على مؤشر ترابط مختلف. الرجوع هذا حلقة الوصل للوثائق أو المزيد من التفاصيل.