import os
cwd = os.getcwd()
search_terms = ['Trump'] # logic is 'and'
location = ['USA']
retreive_num = 100
def stream_tweets(search_term, location, retreive_num):
'''
A function that returns a pandas dataframe for the keywords
'''
data = [] # empty list to which tweet_details obj will be added
counter = 0 # counter to keep track of each iteration
places = api.geo_search(query= location, granularity="country")
place_id = places[0].id
for tweet in tweepy.Cursor(api.search,
q= [('\"{}\" -filter:retweets'.format(search_term)) and ("place:%s" % place_id)],
count=100, lang='en', tweet_mode='extended').items():
tweet_details = {}
tweet_details['name'] = tweet.user.screen_name
tweet_details['tweet'] = tweet.full_text
tweet_details['retweets'] = tweet.retweet_count
tweet_details['location'] = tweet.user.location
tweet_details['created'] = tweet.created_at.strftime("%d-%b-%Y")
tweet_details['followers'] = tweet.user.followers_count
tweet_details['is_user_verified'] = tweet.user.verified
data.append(tweet_details)
counter += 1
if counter == retreive_num:
break
else:
pass
return data
for search_term in search_terms:
df= pd.DataFrame(stream_tweets(search_term, location, retreive_num))
Привет,
Я хочу получить твиты, отфильтрованные как по местоположению, так и по ключевым словам. Но, как видите, скрипт выдает пустой результат. Как отфильтровать оба условия?