[英]Live Stream Tweets from Twitter using Tweepy. But With NO Filter
[英]Stream tweets from Twitter (With Tweepy and Python) and store in SQLite database until N tweets has been processed
我試圖在SQLite數據庫表(“情感”)中存儲N條推文(通過關鍵字“特朗普”過濾)。 為此,我編寫了一個函數“ count_rows”,該函數返回存儲在該表中的整數行(每行對應一條tweet)。 使用這個整數作為達到N條推文的臨界點,我試圖在while循環內流推文(請參見下文):
N = 100
def count_rows():
count_SQL = """SELECT COUNT(*) FROM sentiment"""
c.execute(count_SQL)
return c.fetchall()[0][0]
num_rows = count_rows() # Starts at value: zero
while num_rows <= N:
try:
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["Trump"])
# num_rows = count_rows()
except Exception as e:
print(str(e))
time.sleep(5)
num_rows = count_rows()
挑戰在於,流永遠持續下去,而while循環是無限的。 我究竟做錯了什么? 我是否以錯誤的方式使用count_rows()? (函數count_rows()本身可以正常工作,因此該錯誤必須在我認為的while循環邏輯內)。
[ 自我注意:記得閱讀帖子中的所有單詞 :]
編輯:
除非關閉連接,否則流[不會]終止,
計數測試不應該在監聽器內部嗎? 聽起來對Stream
的調用不會返回到while函數。
這個num_rows = count_rows()
是否連續將num_rows重置為0? 在發布的代碼中沒有跡象表明sentiments
中的COUNT(*)
發生了變化。 這些推文是否已插入sentiment
表?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.