【问题标题】:Extracting tweets using Python and Tweepy使用 Python 和 Tweepy 提取推文
【发布时间】:2020-09-04 21:44:46
【问题描述】:

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

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'] ])

代码运行良好。但是,我有两个问题:

  1. 如何访问这些之前的推文?它给了我 3200 条推文;在那之前我如何获得那些
  2. 如何获取唐纳德·特朗普的推文,其中包含“移民”、“难民”、“中国”等特定关键字。

我一直在想办法,但没有成功。

【问题讨论】:

    标签: python twitter tweepy sentiment-analysis


    【解决方案1】:

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

    [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

    【讨论】:

    • 但它提供了推特提要中的所有推文。我需要一些特定用户(如 realDonaldTrump)专门发布的推文。有没有办法做到这一点?
    猜你喜欢
    • 2022-08-11
    • 1970-01-01
    • 2019-08-30
    • 2021-04-30
    • 2018-12-31
    • 2020-06-28
    • 1970-01-01
    • 2012-03-08
    • 2018-06-29
    相关资源
    最近更新 更多