收集独特的推文REST API

时间:2017-07-27 20:24:55

标签: python rest twitter

背景:我想获得唯一的推文。根据对stackoverflow的评论,一种方法是创建一个集合

但是,当我尝试以下代码时,我得到一个TypeError:Unhashable。我在这里找到了一些信息TypeError : Unhashable type。我也知道我可以在我存储的MongoDB中删除重复项,但如果我在存储之前这样做会更清晰。

问题:有没有办法只收集独特的推文?

results = []
pages = 2 
counts = 100

while True:        
    for tweet in tweepy.Cursor(api.search, q = keywords, since="2017-07-21", until="2017-07-27", count = counts, lang = language,monitor_rate_limit=True, wait_on_rate_limit=True).pages(pages):
        results.extend(tweet)


    results = set(results)

1 个答案:

答案 0 :(得分:0)

如果没有具体的例子,很难说肯定

{ ~ }  » python                                                                                                                            
>>> results = ["hi", "hello", "hi", "goodbye"]
>>> a = set()
>>> for tweet in results:
...     a.add(tweet)
...
>>> print a
set(['hi', 'hello', 'goodbye'])
>>>

正如您在上面看到的那样,该集只有1" hi",您不应该尝试将整个列表作为一个整体进行哈希。

好的,根据你的意见我做了一个更小的逆向工程,我确定推文有一个你需要添加到集合中的文本字段,

所以只需将a.add(tweet)替换为a.add(tweet.text)