我有一个用Python编写的文件,该文件将输出到Twitterstream,并根据列表中的关键字获取消息。这个列表很长,输出结果不是我想要的全部。我想清理文件,并将结果输出到文本文件。在
以下是我当前的代码,它将所有消息写入一行:
import sys
....
if __name__ == '__main__':
with open("keywords.txt", "r") as f:
keywords = f.readlines()
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
stream.filter(track=keywords])
上面的代码没有拉入任何内容,这意味着当我在命令提示符python hashtagworking.py > output.txt
输入以下内容时,没有任何内容输出到文本文件
在stream.filter
中大约有300个项目,所以我想用一个txt文件来代替实际的文本。同样,结果显示在一行的每一个消息,这是如何写的,我想重写它输出到一个csv文件中的每个对象的消息。在
我想这就是我要找的,但我想确定一下:similar problem
我还想从其他嵌套对象中获取东西,比如entities:{…}具体地说,我想从entities对象获取hashtag,但更具体地说,是任何对象。我尝试过data.text.hashtag
data.entities.hashtag
data.entities.media.hashtag
这些都没有用。在
对于你的关键字问题,假设你把它们都放在一个txt文件中(每行一个标记)
对于你的其他问题(以.csv格式输出)你能写下一个你希望在文件中显示什么的例子吗?在
^{pr2}$请注意,这不是一个可接受的长期解决方案,因为每次从流中过滤tweet时都要打开和关闭文件(也称为泛洪I/O),您可以实现一个缓冲区(每次缓冲区被填满时,将其转储到文件中)。在
请注意,我正在手动写入csv文件,如果您想在csv操作中获得更多深度,请查看http://docs.python.org/2/library/csv.html
相关问题 更多 >
编程相关推荐