【问题标题】:Twitter Stream response for key words关键词的 Twitter 流响应
【发布时间】:2011-07-12 04:36:05
【问题描述】:


我有一个小型 Python 程序,可以从 twitter 流中提取推文以获取关键字。
想要将关键字与收到的推文链接。我怎样才能在 python 中有效地做到这一点。
我可能有超过 200 把钥匙。
例如:
关键字 = "key1,key2,key3"
收到 4 条推文,我想直接链接传入的文本和密钥..
如下图
1)tweets msgs key1 tweets tweets text --> key1
2)tweets msgs key2 tweets tweets text --> key2
3)tweets msgs key3 tweets tweets text --> key3
4)tweets msgs key1 tweets tweets text --> key1

更新:
目前正在使用 for 循环来迭代密钥列表并使用 find 来查看密钥是否存在于推文文本中。但我觉得应该有更好更有效的方法在python中这样做。

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

【问题讨论】:

    标签: python twitter


    【解决方案1】:

    使用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']})
    

    【讨论】:

    • 感谢重播。但我的要求有点不同。我错误地表达了我的要求。这就是我想要的。我收到很多推文,但我不知道哪些推文属于哪个键。所以我需要一个程序来映射传入的推文和关键字列表。我有一个 for 循环,它循环我的关键字并检查关键字在文本。这是低效的。所以请帮助我提供有关如何以 python 方式执行此操作的任何链接或想法。(我是一名 java 开发人员,现在正在学习 python)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多