【问题标题】:How to search a large number of tweets如何搜索大量推文
【发布时间】:2015-09-09 22:35:26
【问题描述】:

我想在 Twitter 上搜索 50 个关键字。到目前为止,我已经尝试了两种搜索 Twitter 的方法。第一种方法只为我打印最后一条推文的数据,而不考虑关键字。

这是我使用的第一种方法:

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

【问题讨论】:

  • 不是股票的标签,称为cashtags 所以#GMCR 会是$GMCR 吗? @DougwenKuei

标签: r text-mining twitter-search


【解决方案1】:

您应该阅读twitter API documentation。根据搜索的最佳做法:

限制 您对 10 个关键字和运算符的搜索。

查询可能会受到限制 到复杂性。如果发生这种情况,搜索 API 将响应 error: {"error":"对不起,您的查询太复杂了,请减少 复杂性,然后再试一次。"}

因此,您一次最多可以搜索 10 个。你不应该在搜索中使用管道,搜索多个关键字的正确方法只是一个空格:

searchTwitter('#GMCR #NFLX #PCLN ...)

我认为你的循环是解决这个问题的最佳方式,只要确保你没有达到速率限制:

GET 搜索/推文是 Twitter REST API 1.1 的一部分,并且是速率 与其他 v1.1 方法类似。请参阅 REST API 速率限制 v1.1 有关该模型的信息。此时,代表的用户 访问令牌每 15 分钟可以发出 180 个请求/查询。使用 application-only auth,一个应用程序可以进行 450 个查询/请求 在没有用户上下文的情况下代表它自己每 15 分钟。

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多