Twitter Stream API提供的推文中没有文本中的关键词



我开始通过流式API提取tweet。然而,我注意到有些推文不包含我在文本中定义的关键词,然而,也有一些推文是对包含此类关键词的推文的回复。

我如何确保只考虑文本中包含单词的推文?

我真的很感谢你的帮助!

#Load packages and define parameters
import tweepy
key_words = ["xx"]
class TwitterStreamer():
def __init__(self):
pass
def stream_tweets(self, twitter_data_title, key_words):
listener = StreamListener(twitter_data_title)
auth = tweepy.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_secret_token)
stream = tweepy.Stream(auth, listener)
stream.filter(track=key_words)

class StreamListener(tweepy.StreamListener):
def __init__(self, twitter_data_title):
self.fetched_tweets_filename = twitter_data_title
def on_data(self, data):
try:
print(data)

with open(self.fetched_tweets_filename, 'a') as tf:
tf.write(data)
return True
except BaseException as e:
print("Error on_data %s" % str(e))
return True

def on_exception(self, exception):
print('exception', exception)
stream_tweets(twitter_data_title, key_words)    
def on_error(self, status):
print(status)

def stream_tweets(twitter_data_title, key_words):
listener = StreamListener(twitter_data_title)
auth = tweepy.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_secret_token)
stream = tweepy.Stream(auth, listener)
stream.filter(track=key_words)


if __name__ == '__main__':
twitter_streamer = TwitterStreamer()
twitter_streamer.stream_tweets(twitter_data_title, key_words)

来自Twitter文档:

Tweet的文本和一些实体字段被认为是匹配的。具体来说,会检查Tweet的文本属性、链接和媒体的expanded_url和display_url、标签的文本以及用户提及的screen_name是否匹配。

因此,如果你只想要文本与你提供的关键词匹配的推文,你必须删除那些文本不包含你自己提供的关键词的推文。

最新更新