[英]Retweet latest tweet using tweepy
我一直在使用tweepy
python模塊來創建一個Twitter機器人,該機器人從我關注的一些特定帳戶轉發每條推文。 我已經能夠遵循模塊文檔並成功轉發了所有帳戶的推文。 正如您中的大多數人可能知道的那樣,一些帳戶的發條頻率不如其他帳戶,我也不想多次轉發同一條發條。 我無法從文檔中'getting the most recent tweet'
有關'getting the most recent tweet'
的確定解決方案,因此我想出了一種tweet id
和帳戶ID作為key value pair in a dictionary
。 在轉發之前,請檢查ID以查看它們是否匹配。 如果是,我跳過這條推文
這是一個好的解決方案,還是我忽略了一個更簡單的方法,應該再次瀏覽文檔?
我有一個運行的代碼可以做到這一點,但並不是那么簡單。 就我而言,人們可能會轉發別人的推文,此外,還需要對推文進行一些更改。 所以我需要“看看”是否是同一主題。
我通過解析推文,刪除通用詞(a,the,un,...),獲取主要詞,然后按照您所說的將它們存儲在變量中來實現。 就我而言,我選擇使用泡菜和FIFO系統。 因此,當出現一條推文時,我將相關單詞列表中最相關的單詞進行核對,接受1個單詞作為偏差,然后只決定是否轉發。 實際上,我再次發了推文,而不是轉發。 如果您只轉推,也許您只能存儲推特ID,那么您會很好。 但是,正如我所說,要小心,您的以下帳戶可能會發布相同的推文,並且ID將不同。
-先進先出-
class Fifo:
def __init__(self, max_limit):
self.data = [[], []]
self.max_limit = max_limit
def append(self, value):
self.data[1].append(value)
if self.max_limit > 0:
if len(self.data[0]) + len(self.data[1]) > self.max_limit:
return self.pop()
def pop(self):
if not self.data[0]:
self.data.reverse()
self.data[0].reverse()
return self.data[0].pop()
def __len__(self):
return len(self.data[0]) + len(self.data[1])
def tolist(self):
temp = (self.data[0])[:]
temp.reverse()
return temp + self.data[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.