как фильтровать местоположение и ключевые слова через Tweepy? - PullRequest
0 голосов
/ 29 мая 2020
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))

Привет,

Я хочу получить твиты, отфильтрованные как по местоположению, так и по ключевым словам. Но, как видите, скрипт выдает пустой результат. Как отфильтровать оба условия?

...