使用Python和Tweepy提取推文

问题描述 投票:0回答:1

[我正在尝试查看特朗普总统关于移民的推文,并对它进行一些情绪分析。我的代码是:

import pprint
import datetime

# startDate = datetime.datetime(2019, 4, 20, 0, 0, 0)

# endDate = datetime.datetime(2020, 4, 29, 0, 0, 0)

username = "realDonaldTrump"

page = 1
stop_loop = False

finalList1 = []

curs = tweepy.Cursor(api.user_timeline, id=username)

for item in curs.items():
    finalList1.append(item)

print(len(finalList1))
data = pd.DataFrame(data=[tweet.text for tweet in finalList1], columns=['Tweets'])

#Add Relevant data

data['len']  = np.array([len(tweet.text) for tweet in finalList1])
data['ID']   = np.array([tweet.id for tweet in finalList1])
data['Date'] = np.array([tweet.created_at for tweet in finalList1])
data['Source'] = np.array([tweet.source for tweet in finalList1])
data['Likes']  = np.array([tweet.favorite_count for tweet in finalList1])
data['RTs']    = np.array([tweet.retweet_count for tweet in finalList1])

#Sentiment Analysis
from textblob import TextBlob
import re

def clean_tweet(tweet):
    '''
    Utility function to clean the text in a tweet by removing 
    links and special characters using regex.
    '''
    return ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ", tweet).split())

def analize_sentiment(tweet):
    '''
    Utility function to classify the polarity of a tweet
    using textblob.
    '''
    analysis = TextBlob(clean_tweet(tweet))
    if analysis.sentiment.polarity > 0:
        return 1
    elif analysis.sentiment.polarity == 0:
        return 0
    else:
        return -1

data['SA'] = np.array([ analize_sentiment(tweet) for tweet in data['Tweets'] ])

该代码运行正常。但是,我有2个问题:

  1. 在这些之前,我如何获得推文?它给了我3200条推文;在那之前我该如何获得
  2. 我如何获得唐纳德·特朗普的推文,这些推文具有特定的关键词,例如'移民','难民','中国'等。

我一直在尝试一种方法,但是没有成功。

python twitter tweepy sentiment-analysis
1个回答
0
投票

用于搜索可以使用的特定关键字

[API.search] [1]

例如:

q="immigration"
searched_tweets = [status for status in tweepy.Cursor(api.search, q=query).items(max_tweets)] 

[1]:http://docs.tweepy.org/en/latest/api.html [2]:Managing Tweepy API Search

© www.soinside.com 2019 - 2024. All rights reserved.