0

ストリーミング API から特定の値を辞書に挿入しようとしています。これらの 1 つは、track=keyword を使用するフィルター メソッドで使用される用語の値です。いくつかのコードを書きましたが、print ステートメントで "Encountered Exception: 'term'" エラーが発生します。これは私の部分的なコードです:

 for term in setTerms:
     a = re.compile(term, re.IGNORECASE)
     if re.search(a, status.text):
         message['term'] = term
     else:
         pass

      print message['text'], message['term']

これはフィルターコードです:

setTerms = ['BBC','XFactor','Obama']
streamer.filter(track = setTerms)

文字列に一致しますが、すべてのインスタンスに一致できる必要もあります。BBC は、#BBC、@BBC、BBC1 などとも一致する必要があります。

それで私の質問は、re.search(term、status.text)の場合にこれらすべてのインスタンスに一致するように、setTerms(BBCなど)で用語を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

すべての検索用語を 1 つの式にまとめてみましたか?

つまり、setTerms = '(BBC)|(XFactor)|(Obama)' の場合、それがピース文字列全体に一致するかどうかを確認します (個々の単語だけでなく?

于 2012-11-16T12:41:24.120 に答える