Tweepy Отслеживание нескольких условий
Я делаю контент-анализ твитов. Я'm используя tweepy для возврата твитов, соответствующих определенным терминам, а затем записываю N твитов в файл CSv для анализа. Создание файлов и получение данных не проблема, но я бы хотел сократить время сбора данных. В настоящее время я перебираю список терминов из файла. Как только N достигнуто (например, 500 твитов), оно переходит к следующему члену фильтра.
Я хотел бы ввести все мои термины (менее 400) в одну переменную и все результаты для сопоставления. Это тоже работает. То, что я не могу получить, это возвращаемое значение из твиттера, на котором термин соответствует в статусе.
class CustomStreamListener(tweepy.StreamListener):
def __init__(self, output_file, api=None):
super(CustomStreamListener, self).__init__()
self.num_tweets = 0
self.output_file = output_file
def on_status(self, status):
cleaned = status.text.replace('\'','').replace('&','').replace('>','').replace(',','').replace("\n",'')
self.num_tweets = self.num_tweets + 1
if self.num_tweets < 500:
self.output_file.write(topicName + ',' + status.user.location.encode("UTF-8") + ',' + cleaned.encode("UTF-8") + "\n")
print ("capturing tweet number " + str(self.num_tweets) + " for search term: " + topicName)
return True
else:
return False
sys.exit("terminating")
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True #Don't kill the stream
with open('termList.txt', 'r') as f:
topics = [line.strip() for line in f]
for topicName in topics:
stamp = datetime.datetime.now().strftime(topicName + '-%Y-%m-%d-%H%M%S')
with open(stamp + '.csv', 'w+') as topicFile:
sapi = tweepy.streaming.Stream(auth, CustomStreamListener(topicFile))
sapi.filter(track=[topicName])
Конкретно моя проблема заключается в следующем. Как я могу получить то, что соответствует, если переменная трека имеет несколько записей? Я также скажу, что я относительно новичок в питоне и твипах.
Заранее спасибо за любые советы и помощь!