#python #pandas #for-loop #twitter #append
#питон #панды #для-петли #Twitter #добавлять
Вопрос:
Я пытаюсь просмотреть два списка имен политиков и имен пользователей Twitter, чтобы извлечь все твиты, в которых упоминается политик.
Цикл for действительно изменяет имя и имя пользователя в поисковом запросе. Однако извлеченные твиты, похоже, перезаписывают друг друга, поэтому в итоге я получаю 10 твитов с упоминанием последнего политика в списке, т. е. спикера Пелоси/Нэнси Пелоси.
Как я могу добавить твиты, чтобы в итоге я получил фрейм данных pandas со всеми твитами, включая новую колонку с указанием имени политика, упомянутого в твите?
pol_names_list = ['James Comer', 'Jacky Rosen', 'Adriano Espaillat', 'Nancy Pelosi'] # Politician names pol_token_list = ['RepComer', 'RepRosen', 'RepEspaillat', 'SpeakerPelosi'] # Politician usernames for name, username in zip(pol_names_list, pol_token_list): getTweet_query_US = ("(block me OR blocked me OR censor) -vote -$2000 -Senate -House -is:retweet lang:en" " " "(" username " " "OR" " " name ")") for name, username in zip(pol_names_list, pol_token_list): def getTweets(): client = getClient() tweets = client.search_all_tweets(query=getTweet_query_US, tweet_fields=['created_at', "author_id"], start_time='2017-01-01T00:00:00Z', max_results=10) return tweets.data tweets = getTweets() # Convert to dataframe tweet_df = pd.DataFrame(tweets, columns=('id', "text", "created_at", "author_id")) # Columns in data frame. print(tweet_df)