我试图获取一个包含关键字“IAmsterdam”(阿姆斯特丹城市营销活动)的大型推文数据集。 我试图同时使用Twitter的流式API和restapi,但是我无法获得一个可以分析的大数据集(情感分类)
你们中有谁知道我怎么可能得到更多关于IAmsterdam的tweet吗?在
代码REST API:
from TwitterSearch import *
import time
import sys
import codecs
#change to more convenient output type (utf-8)
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
try:
tso = TwitterSearchOrder()
tso.set_keywords(['IAmsterdam'])
tso.set_language('en')
ts = TwitterSearch(
consumer_key = '6ZnWpt6HZ1kOVSEjfFwUnLia6',
consumer_secret = .... ,
access_token = '2815625730-qSoq6TWyfzqpPJvY71DNAQwGUAfoQu23KgLcPg1',
access_token_secret = ...
)
sleep_for = 60 # sleep for 60 seconds
last_amount_of_queries = 0 # used to detect when new queries are done
for tweet in ts.search_tweets_iterable(tso):
print( '@%s tweeted: %s' % ( tweet['user']['screen_name'], tweet['text'] ) )
current_amount_of_queries = ts.get_statistics()[0]
if not last_amount_of_queries == current_amount_of_queries:
last_amount_of_queries = current_amount_of_queries
time.sleep(sleep_for)
except TwitterSearchException as e:
print(e)
代码流API
^{pr2}$
从API获取的数据与使用advanced search时看到的数据相同 据我所见,使用“IAmsterdam”一词的推文似乎不多,而且,通过指定lang=en使搜索更具限制性,因此您可以尝试:
另外,我建议您更改授权令牌,因为尽管您删除了这些令牌,但仍有足够的时间供某人复制或存储在web搜索缓存中。
这里不需要代码示例:)。在
restapi的问题是它只提供6-9天的tweet。流式api只会在tweets发生时给你提供tweets。因此,在这两种情况下,你都需要在较长的时间内收集数据,才能得到一个大的数据集。在
或者你必须减少搜索限制,搜索更多的标签/关键字。在
如果您想快速建立一个大的数据集和/或获取历史数据,那么您可以使用类似于http://topsy.com/的东西,它可以让您的tweet回到twitter开始的时候。这是有偿服务(还有其他服务)。在
相关问题 更多 >
编程相关推荐