使用流API跟踪tweeter hashtag(关键字)

时间:2013-10-25 15:47:26

标签: node.js tweetstream

我正在尝试通过给定的hashtag或关键字跟踪所有推文。问题是,当我使用像'animal'这样的简单关键字时,我可以流式传输推文,但是当我将其更改为'animal4666'时,它就不起作用了。没有收到回复。我正在使用下面的代码。

    twit.stream('statuses/filter', { track: 'animal4666' }, function(stream) {
        stream.on('data', function(data) {
            console.log(util.inspect(data));
        });
    });

我从不同的帐户发了两条推文,如下:

'#animal4666 a'

'#animal4666试图找出发生了什么事?'

使用搜索API成功检索上述推文,但由于搜索API的速率限制,我需要使用流API,以便我可以使用node.js每两秒检查一次新推文

我使用的插件是node.js:https://github.com/jdub/node-twitter

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

如果您查看正在使用的库的code,似乎没有任何可能的错误 它只在您在轨道参数中传递数组时有一个解决方法,但不是这种情况

// Workaround for node-oauth vs. twitter commas-in-params bug
if ( params && params.track && Array.isArray(params.track) ) {
    params.track = params.track.join(',')
 }

因此,查看official api docs的跟踪方法,我看到两个可能相关的警告。

  

每个短语必须介于1到60个字节之间。

我认为你的时间较短但需要注意

我认为你真正的问题是:

  

短语的精确匹配(相当于大多数搜索中的引用短语   引擎)不受支持。

     

标点符号和特殊字符将被视为该术语的一部分   它们毗邻。从这个意义上说,“你好。”是一条不同的轨道   期限比“你好”。但是,匹配将忽略存在的标点符号   推文。所以“你好”将匹配“你好世界”和“我的兄弟”   你好。“请注意,标点符号不被视为一部分   #hashtag或@mention,因此包含标点符号的跟踪词与#hashtags或@mentions不匹配。

您可以在线查看推文文字,看它是否与here

匹配