2011-03-09 66 views
0


我有一个小型python程序,用于从关键字的twitter流中提取推文。
想要将关键字与收到的tweets链接。我可以在python中有效地做到这一点。
我可能有200多个按键。
例如:
关键字= “KEY1,KEY2,KEY3”
接收4个鸣叫,我想直接链接传入的文本和密钥..
像下面
1)鸣叫封邮件KEY1鸣叫鸣叫文本 - > KEY1
2)鸣叫封邮件KEY2鸣叫鸣叫文本 - > KEY2
3)鸣叫封邮件KEY3鸣叫鸣叫文本 - > KEY3
4)鸣叫封邮件KEY1鸣叫鸣叫文本 - > KEY1Twitter关键字的流式响应

更新:
目前我正在使用for循环迭代密钥列表并使用找到以查看密钥是否存在于tweet文本中。但我觉得应该有更好和有效的方式来做到这一点在python中。

for title in title_list: 
    if tweet_lower.find(title) != -1: 
     setattr(status, 'title',title) 
     break 

回答

0

Python's collection module使用defaultdict

In [1]: from collections import defaultdict 

In [2]: tweet_keyword_storage = defaultdict(list) 

In [3]: tweet_keyword_storage['key1'].append('tweets msgs key1 tweets tweets text') 

In [4]: tweet_keyword_storage['key2'].append('tweets msgs key2 tweets tweets text') 

In [5]: tweet_keyword_storage['key3'].append('tweets msgs key3 tweets tweets text') 

In [6]: tweet_keyword_storage['key1'].append('tweets msgs key1 tweets tweets text') 

In [7]: print tweet_keyword_storage 
defaultdict(<type 'list'>, {'key3': ['tweets msgs key3 tweets tweets text'], 'key2': ['tweets msgs key2 tweets tweets text'], 'key1': ['tweets msgs key1 tweets tweets text', 'tweets msgs key1 tweets tweets text']}) 
+0

感谢您的回复。但我的要求有点不同。我表达了我的要求错了。在我想要的。我收到很多推文,但我不知道哪些推文属于哪个键。所以我需要一个程序来映射传入的推文与关键字列表。我有一个for循环,通过我的关键词循环,并检查关键字text.This是效率低下的。所以请帮助我的任何链接或想法如何我可以做到这一点蟒蛇方式(是一个Java开发人员,现在学习Python) – Natsabari 2011-03-10 16:08:39

+0

@Natsabari,你能请更新你的问题? – 2011-03-14 09:30:23