Python TwythonStreamer:或不作为筛选器工作

Python TwythonStreamer:或不作为筛选器工作,python,api,twitter,twython,Python,Api,Twitter,Twython,我不确定为什么下面的代码不返回任何结果。如果我放入streamer.statuses.filter(track='data'),它就会输出tweets。但是,如果我将join与或一起使用,它将不起作用,尽管我将的“数据”用作选项之一。最后,如果我使用track=keywords,这两种方法都不起作用 from twython import TwythonStreamer from collections import Counter tweets = [] class TweetStream

我不确定为什么下面的代码不返回任何结果。如果我放入
streamer.statuses.filter(track='data')
,它就会输出tweets。但是,如果我将
join
一起使用,它将不起作用,尽管我将
的“数据”
用作选项之一。最后,如果我使用
track=keywords
,这两种方法都不起作用

from twython import TwythonStreamer
from collections import Counter

tweets = []

class TweetStreamer(TwythonStreamer):
    def on_success(self, data):
        if 'text' in data:
            tweets.append(data['text'].encode('utf-8'))
            print data['text'].encode('utf-8')
        if len(tweets)>10:
            self.disconnect()

    def on_error(self, status_code, data):
        print status_code
        self.disconnect()

CONSUMER_KEY = "..."
CONSUMER_SECRET = "..."
ACCESS_TOKEN = "..."
ACCESS_TOKEN_SECRET = "..."

streamer = TweetStreamer(CONSUMER_KEY, CONSUMER_SECRET,
                         ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

keywords = ['data','information']
track = " OR ".join(keywords)

streamer.statuses.filter(track = track)

您必须以正确的方式使用Twitter API

从:

  • 对于逻辑和空格分隔:
    “数据信息”
    =
    “”。连接(['data','information'])
  • 对于逻辑或逗号分隔:
    “数据,信息”
    ==
    “,”。连接(['data','information'))

    • 您必须以正确的方式使用Twitter API

      从:

      • 对于逻辑和空格分隔:
        “数据信息”
        =
        “”。连接(['data','information'])
      • 对于逻辑或逗号分隔:
        “数据,信息”
        ==
        “,”。连接(['data','information'))

      嗯,我认为您使用Twitter API的方式不正确。From:对于逻辑或,您应该用“,”分隔关键字;对于逻辑或,您应该用“”分隔关键字AND@Salo:那么,如果我想,你的意思是这应该有效:关键字=['data','information']track=“”.join(关键字)@Salo:I checked或:track=“,”.join(关键字)。它起作用了。但是和不起作用:track=“”.join(关键字)您必须使用so this:“而不是this”来加入它们。如果用空字符串连接它们,它们将被连接。直接定义字符串“data,information”和“data information”来尝试一下,我认为你使用twitterapi的方式不正确。From:对于逻辑或,您应该用“,”分隔关键字;对于逻辑或,您应该用“”分隔关键字AND@Salo:那么,如果我想,你的意思是这应该有效:关键字=['data','information']track=“”.join(关键字)@Salo:I checked或:track=“,”.join(关键字)。它起作用了。但是和不起作用:track=“”.join(关键字)您必须使用so this:“而不是this”来加入它们。如果用空字符串连接它们,它们将被连接。只需直接定义字符串“data,information”和“data information”,在不连接的情况下尝试一下