我想在twitter上搜索50个关键词。到目前为止,我已经尝试了两种方法来搜索Twitter。第一种方法只为我打印最后一条tweet的数据,而不考虑关键字。
这是我使用的第一个方法:
for (i in c("#GMCR","#NFLX","#PCLN","#SWN","#MA","#EW","#WDC", "#ROST", "#RHT", "#ESRX", "#URBN", "#CRM", "#THC", "#BLK", "#AMZN", "#AAPL", "#CERN", "#FFIV", "#DTV", "#AZO", "#ISRG", "#SJM", "#EOG", "#OXY", "#CF", "#GIS", "#FLS", "#WMT", "#NTAP", "#HSP", "#CSX", "#ACT", "#MOS", "#TJX", "#CL", "#MCD", "#COG", "#RRC", "#FLIR", "#CTSH", "#MYL", "#LEG", "#APH", "#VAR", "#HAS", "#FSLR", "#APA", "#ABC", "#UNP", "#EL"))
{
tweet6<-searchTwitter(i,lang='en',since='2015-09-02', until='2015-09-03')
}
tweet6
这是第二种方法,我只在searchTwitter()
函数中输入了50个关键字,但它给出了一个403错误:
tweet6<-searchTwitter('#GMCR||#NFLX||#PCLN||#SWN||#MA||#EW||#WDC||#ROST||#RHT||#ESRX||#URBN||#CRM||#THC||#BLK||#AMZN||#AAPL||#CERN||#FFIV||#DTV||#AZO||#ISRG||#SJM||#EOG||#OXY||#CF||#GIS||#FLS||#WMT||#NTAP||#HSP||#CSX||#ACT||#MOS||#TJX||#CL||#MCD||#COG||#RRC||#FLIR||#CTSH||#MYL||#LEG||#APH||#VAR||#HAS||#FSLR||#APA||#ABC||#UNP||#EL',
n=500,lang='en,since='2015-09-02', until='2015-09-03')
这将返回:
Error in twInterfaceObj$doAPICall(cmd, params, "GET", ...) :
client error: (403) Forbidden
发布于 2015-09-10 00:14:09
您应该阅读twitter API documentation。在搜索中的最佳实践下:
将搜索限制为10个关键字和运算符。
由于复杂性,查询可能会受到限制。如果发生这种情况,搜索API将响应错误:{“error”:“对不起,您的查询太复杂。请降低复杂性,然后重试。”}
因此,您可以一次搜索多达10个。你不应该在搜索中使用管道,搜索多个关键字的正确方法只是一个空格:
searchTwitter('#GMCR #NFLX #PCLN ...)
我认为你的循环是最好的方式,只要确保你不会达到速率限制:
GET search/tweets是Twitter REST API1.1的一部分,类似于其他v1.1方法的速率限制。有关该模型的信息,请参阅v1.1中的REST API速率限制。此时,由访问令牌表示的用户可以每15分钟进行180次请求/查询。使用仅应用程序身份验证,应用程序可以代表自己在没有用户上下文的情况下每15分钟进行450次查询/请求。
https://stackoverflow.com/questions/32490224
复制相似问题