簡體   English   中英

使用tweepy轉推最新推文

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

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