如何解决如何使用Tweepy.Cursor
我对编码还很陌生(只使用R进行回归建模),现在正在学习Python作为研究助理。我目前的任务是使用循环和tweepy。游标/ API搜索可通过#标签列表搜索推文,并将它们转换为数据框,并将结果存储在CSV文件中。
我设法做到了,但是使用此代码后,tweet在CSV文件的单元格中被截断了(主要是从研究生那里继承来的,以帮助我入门):
import tweepy as tw
import pandas as pd
import numpy as np
import re
consumer_key = ""
consumer_secret = ""
atoken = ""
asecret = ""
auth = tw.OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(atoken,asecret)
api = tw.API(auth,wait_on_rate_limit=True)
hashtag_list = open('hashtag_list.txt',"r")
tweets = []
appended_data = []
tw_all_hashtags = pd.DataFrame(columns = ["text","hashtag"])
for hashtag in hashtag_list:
hashtag = hashtag.replace('\n','')
try:
for i in tw.Cursor(api.search,q = hashtag,lang = "en",twitter_mode = 'extended').items(25):
tweets.append(i)
one_hashtag_df = pd.DataFrame(vars(tweets[i]) for i in range(len(tweets)))
one_hashtag_df.dropna(subset=['text'],inplace=True)
one_hashtag_df.drop_duplicates(subset='text',keep="last")
one_hashtag_df = one_hashtag_df.drop(one_hashtag_df.index[150:])
one_hashtag_df["hashtag"] = hashtag
tw_all_hashtags = tw_all_hashtags.append(one_hashtag_df[["text","hashtag"]],ignore_index=True)
tweets = []
except:
print("Temporary error. Please try again later.")
for i in range(len(tw_all_hashtags)):
x = tw_all_hashtags.iloc[i]['text']
tw_all_hashtags.iloc[i]['text'] = ' '.join(
re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)"," ",x).split())
tw_all_hashtags['text'] = tw_all_hashtags['text'].str.replace('RT','')
tw_all_hashtags.reset_index(drop=True).to_csv("tweets_hashtag.csv",index=False)
您将看到,我尝试将参数twitter_mode ='extended'添加到tw.Cursor行中,但这在最终CSV文件中没有任何改变。我没有收到任何错误,但是当我在Excel上查看它们时,仍然只会截断它们。对于新手如何解决我的这个小问题有什么建议吗?提前致谢。干杯!
解决方法
改为使用tweet_mode = "extended"
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。