我有没有办法使用Python下载特定时间段(比如11月15日开始和11月22日结束的一周)特定地区(例如美国)的所有Twitter用户发布的所有推文?这是针对NLP任务的。现在,我能够下载与我搜索的某些主题相关的推文,并且只能下载在程序运行时发布的推文。无论主题如何,我希望能够通过推文获取数据挖掘/ NLP任务。
答案 0 :(得分:3)
是的!你可以。
使用Tweepy
import tweepy
consumer_key = ''
consumer_secret = ''
access_token_key = ''
access_token_secret = ''
auth1 = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth1.set_access_token(access_token_key, access_token_secret)
class StreamListener(tweepy.StreamListener):
def on_status(self, tweet):
print 'Ran on_status'
def on_error(self, status_code):
print 'Error: ' + repr(status_code)
return False
def on_data(self, data):
print 'Ok, this is actually running'
l = StreamListener()
streamer = tweepy.Stream(auth=auth1, listener=l)
setTerms = ['twitter']
streamer.filter(track = setTerms)
在stream.filter()
中,您可以指定区域,以获得更多details
stream.filter(locations=[ "here you can define a region by listing the lang/lat" ], track=terms)
如果您有特定的定义区域,可以在列表器中检查
def on_status(self, status):
if status.coordinates .. :