背景:我只想得到唯一的推特。根据对堆栈溢出的注释,这样做的一种方法是创建一个集合
然而,当我尝试下面的代码时,我会得到一个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)发布于 2017-07-27 21:30:28
如果没有具体的例子,很难肯定地说。
{ ~ } » python
>>> results = ["hi", "hello", "hi", "goodbye"]
>>> a = set()
>>> for tweet in results:
... a.add(tweet)
...
>>> print a
set(['hi', 'hello', 'goodbye'])
>>>正如您在上面看到的集只有一个“嗨”,你不应该尝试散列作为一个整体的整个列表。
好吧,根据你的评论,我做了一个小的反向工程,我决定推特上有一个文本字段,你需要添加到这个集合中,
因此,只需将a.add(tweet)替换为a.add(tweet.text)
https://stackoverflow.com/questions/45360388
复制相似问题