Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用tweepy转发最新推文_Python_Twitter_Tweepy - Fatal编程技术网

Python 使用tweepy转发最新推文

Python 使用tweepy转发最新推文,python,twitter,tweepy,Python,Twitter,Tweepy,我一直在玩tweepypython模块,创建一个twitter机器人,从我关注的几个特定帐户中转发每条tweet。我已经能够遵循模块文档,并成功地转发了所有帐户的推文。正如你们中的大多数人可能知道的,一些账户不像其他账户那样定期推特,我不想多次转发同一条推特。我无法从文档中获得关于“获取最新tweet”的最终解决方案,因此我想出了一个解决方案,将帐户id作为键值对存储在字典中。在转发之前,我检查id以查看它们是否匹配。如果是,我将跳过推文 这是一个很好的解决方案,还是我忽略了一个更简单的方法,应

我一直在玩
tweepy
python模块,创建一个twitter机器人,从我关注的几个特定帐户中转发每条tweet。我已经能够遵循模块文档,并成功地转发了所有帐户的推文。正如你们中的大多数人可能知道的,一些账户不像其他账户那样定期推特,我不想多次转发同一条推特。我无法从文档中获得关于“获取最新tweet”的最终解决方案,因此我想出了一个解决方案,将帐户id作为
键值对存储在字典中。在转发之前,我检查id以查看它们是否匹配。如果是,我将跳过推文


这是一个很好的解决方案,还是我忽略了一个更简单的方法,应该重新阅读文档?

我有一个运行的代码可以做到这一点,但没有那么简单。在我的例子中,人们可能会从其他人那里转发,另外,稍微改变一下tweet。所以我需要“看看”它是否是同一个主题

我通过解析tweet、删除通用词(a,the,un,…),获取主要词,然后,如您所说,将它们存储在一个变量中来实现这一点。在我的例子中,我选择使用pickle和FIFO系统。所以,当一条推特发过来时,我会对照一个相关词列表检查最相关的词,接受1个词作为偏差,只有他们决定是否转发。事实上,我又发了一次推特,而不是转发。如果你只转发,也许你可以只存储推特id,你会很好。但正如我所说的,请小心,您的以下帐户可能会推送相同的东西,并且将有不同的ID

---先进先出---


是的,我昨天意识到了这一点。我用pickle来储存我的字典。一旦我有了有效的签入,可以跳过两次转发相同的内容,我会调查你指出的问题。putI在我的回复中添加了帮助我解决问题的FIFO代码。
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]