python - 清理和组织 Twitter 数据 python
问题描述
我以这种方式提取了推特数据:
import tweepy
# Authentication
consumerKey = ''
consumerSecret = ""
accessToken = ""
accessTokenSecret =''
auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)
api = tweepy.API(auth,wait_on_rate_limit=True, timeout=1000)
#Sentiment Analysis
keyword = "small businesses kenya OR msme OR sme"
noOfTweet = 2000
tweets = tweepy.Cursor(api.search_tweets, q=keyword).items(noOfTweet)
tweet_list = []
for tweet in tweets:
#print(tweet.text)
tweet_list.append(tweet.text)
#Number of Tweets (Total, Positive, Negative, Neutral)
tweet_list = pd.DataFrame(tweet_list)
print("total number: ",len(tweet_list))
我已经很好地收到了推特数据,但这是我的主要挑战。我确实想清理这些数据并保存在 CSV 中以供进一步分析。我希望 CSV 有如下列: 'tweeter_handle','timestamp','orig_tweet','likes','retweets','hashtags','mentions','location','tweet_text'。我曾尝试将RT @拆分为这样的另一列,但无法正常工作:
import emoji
nltk.download('words')
words = set(nltk.corpus.words.words())
def cleaner(tweet):
tweet = re.sub("@[A-Za-z0-9]+","",tweet) #Remove @ sign
tweet = re.sub(r"(?:\@|http?\://|https?\://|www)\S+", "", tweet) #Remove http links
tweet = " ".join(tweet.split())
tweet = ''.join(c for c in tweet if c not in emoji.UNICODE_EMOJI) #Remove Emojis
tweet = tweet.replace("#", "").replace("_", " ") #Remove hashtag sign but keep the text
tweet = " ".join(w for w in nltk.wordpunct_tokenize(tweet) \
if w.lower() in words or not w.isalpha())
return tweet
tweet_list['text'] = tweet_list['tweet'].map(lambda x: cleaner(x))
tweet_list.to_csv('business_tweets.csv')
任何有关清理和构建此数据的基本结构的帮助将不胜感激。
解决方案
推荐阅读
- dart - ScopedModelDescendant 字符串返回 null。不检索状态
- python - 使用类、函数和方法变量
- java - 如何在不更改清单指定主类的情况下修复启动 .jar 文件?
- sharepoint - 从表单获取字段值并传递到 Web 部件列表视图筛选器
- mocha.js - 无法使用赛普拉斯中的 mocha-allure-reporter 读取未定义错误的属性“基础”
- serverless - 尝试部署时连接到不同的 ARN/Role/Amazon 账户
- php - php文件名中的通配符
- python - 由于串口打开情况,无法从 arduino 和无线调制解调器读取串行数据
- c# - 需要更新列表项,然后将其放入文本文件中
- wpf - WPP垂直scrollViewer没有出现