0

我正在尝试将 Streaming API 中的某些值插入到字典中。其中之一是在使用 track=keyword 的过滤方法中使用的术语的值。我已经编写了一些代码,但在打印语句中我收到“遇到异常:'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

您是否尝试过将所有搜索词放在一个表达式中?

即 setTerms = '(BBC)|(XFactor)|(Obama)',然后查看它是否匹配整个字符串(不仅仅是单个单词?

于 2012-11-16T12:41:24.120 回答