2014-11-15 78 views
0

有没有一种方法可以让我下载所有Twitter用户在特定地区(比如美国)使用Python在特定时间段内(例如11月15日开始的一周内和11月22日结束)发布的所有推文?这是一个NLP任务。现在我可以下载与我搜索的某些主题相关的推文,并且只能在程序运行时发布推文。我希望能够通过推文进行数据挖掘/ NLP任务,而不考虑任何主题。有没有办法让我下载所有推特用户在特定地区发布的所有推文?

+2

如果你使用了相同的查询(和你的qquestion一样) uldve很容易找到很多Python模块,它们可以让你访问twitter API – Beginner

+0

我的确在谷歌的问题,但所有的结果是筛选的结果,并只返回包括搜索主题的鸣叫。我想为NLP任务构建一个推文语料库,其中包含某个地区的所有推文。 – user1693574

回答

2

是的!您可以。

使用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 .. : 
+0

这将只返回包含“推特”这个词的推文吗?我希望能够获得所有的推文,而不管内容。 – user1693574

相关问题