我目前正在使用python对twitter数据进行情绪分析(对这个问题不一定很重要)做一些研究,我是python的初学者。我理解twitter流媒体API限制用户只能访问前7天,除非你申请一个完整的企业搜索,打开整个档案。我最近从twitter上获得了这个研究项目的完整存档,但是我无法指定我想要流到csv文件中的tweets的开始和结束日期。这是我的代码:
import pandas as pd
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ckey = 'xxxxxxxxxxxxxxxxxxxxxxx'
csecret = 'xxxxxxxxxxxxxxxxxxxxxxx'
atoken = 'xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx'
asecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
# =============================================================================
# def sentimentAnalysis(text):
# output = '0'
# return output
# =============================================================================
class listener(StreamListener):
def on_data(self, data):
tweet = data.split(',"text":"')[1].split('","source')[0]
saveMe = tweet+'::'+'\n'
output = open('output.csv','a')
output.write(saveMe)
output.close()
return True
def on_error(self, status):
print(status)
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["#weather"], languages = ["en"])
现在这个代码流完美地记录了过去7天的twitter日期。我试着把底线改成
^{pr2}$但这将返回此错误::filter()获得意外的关键字参数“since”。在
根据给定的日期帧进行筛选的正确方法是什么?在
tweepy不提供“since”参数,因为您可以检查自己here。在
要获得所需的输出,您必须使用
api.user_timeline
,遍历页面直到达到所需的日期,例如:请注意,您需要更新代码以满足您的需要,这只是一个通用的解决方案。
相关问题 更多 >
编程相关推荐