Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Nodejs的Twitter流媒体问题;Twit“;_Node.js_Twitter - Fatal编程技术网

Node.js 使用Nodejs的Twitter流媒体问题;Twit“;

Node.js 使用Nodejs的Twitter流媒体问题;Twit“;,node.js,twitter,Node.js,Twitter,我只是试着用nodejs和“Twit”(npm)从twitter上传推文。我的代码如下所示 stream = tweeter.stream('statuses/filter', { track: phrase, language: 'en' }); var testTweetCount = 0; stream.on('tweet', function (data) { var currentdate = new Date(); var datetime = "

我只是试着用nodejs和“Twit”(npm)从twitter上传推文。我的代码如下所示

 stream = tweeter.stream('statuses/filter', { track: phrase, language: 'en' });
   var testTweetCount = 0;
    stream.on('tweet', function (data) { 
    var currentdate = new Date(); 
    var datetime = "Last Sync: " + currentdate.getDate() + "/"
            + (currentdate.getMonth()+1)  + "/" 
            + currentdate.getFullYear() + " @ "  
            + currentdate.getHours() + ":"  
            + currentdate.getMinutes() + ":" 
            + currentdate.getSeconds();
        console.log("stream started Successfully with "+filterText+"-  "+datetime);      
        //socket.emit('gotTweetss'); 
        var tweetText = JSON.stringify(data.text);
        if(tweetText){
            var Created_at=JSON.stringify(data.created_at);
            var User=JSON.stringify(data.user.screen_name);
            tweetCollection.count({text:tweetText,user:User,Created_at:Created_at}, function(err, existdata){
            /*  console.log("existdata                           :                  " + existdata);*/
                if(existdata > 0){
                    console.log("duplicate data : " + JSON.stringify(existdata));
                } else{

                    var tText=filterText.split(',');
                    var chekTrue=false;

                    for(iix=0;iix<tText.length;iix++)
                    {

                        var twData=tweetText.toUpperCase();
                        var txzt=tText[iix].trim();
                        if(twData.indexOf(txzt.toUpperCase())>-1)
                            {
                                console.log('true');
                                chekTrue='true';break;
                            }

                    }
                    if(chekTrue=='true'){

                    tweetCollection.insert([{text:tweetText,user:User,Created_at:Created_at}], {w:1}, function (error) {
                        if (error){
                            console.log("Error Occurred " + error.message);
                        } else{
                            // Wait for a second before finishing up, to ensure we have written the item to disk
                            setTimeout(function() {

                                // Fetch the document
                                tweetCollection.findOne ({text:tweetText}, function (err, item) {
                                    assert.equal(null, err);
                                    if(item!=null)
                                    assert.equal(tweetText, item.text);

                                })
                            }, 1000);
                        }
                    });
                    }
                }
            });
        }
        // socket.emit('gotTweet');
    });
    stream.on('error', function(error, code) {
        console.log("My error: " + error + ": " + code);
        /*if(code=="420")
        {
            io.sockets.emit('gotTweet');
        }*/
    });
    stream.on('delete', function(error, code) {
        console.log("My delete: : " + code);
    });
stream=tweeter.stream('status/filter',{track:phrase,language:'en'});
var testTweetCount=0;
stream.on('tweet',函数(数据){
var currentdate=新日期();
var datetime=“上次同步:“+currentdate.getDate()+”/”
+(currentdate.getMonth()+1)+“/”
+currentdate.getFullYear()+“@”
+currentdate.getHours()+“:”
+currentdate.getMinutes()+“:”
+currentdate.getSeconds();
log(“流以“+filterText+”-“+datetime”成功启动);
//socket.emit('gotweetss');
var tweetText=JSON.stringify(data.text);
如果(推文){
var Created_at=JSON.stringify(data.Created_at);
var User=JSON.stringify(data.User.screen\u name);
count({text:tweetText,user:user,Created_at:Created_at},函数(err,existdata){
/*console.log(“existdata:+existdata”)*/
如果(existdata>0){
log(“重复数据:+JSON.stringify(existdata));
}否则{
var tText=filterText.split(',');
var chekTrue=false;
对于(iix=0;iix-1)
{
console.log('true');
chekTrue='true';break;
}
}
如果(chekTrue=='true'){
插入([{text:tweetText,user:user,Created_at:Created_at}],{w:1},函数(错误){
如果(错误){
日志(“发生错误”+错误消息);
}否则{
//在完成之前请等待一秒钟,以确保已将项目写入磁盘
setTimeout(函数(){
//取文件
tweetCollection.findOne({text:tweetText},函数(err,item){
assert.equal(null,err);
如果(项!=null)
assert.equal(tweetText,item.text);
})
}, 1000);
}
});
}
}
});
}
//emit('gotweet');
});
stream.on('error',函数(error,code){
log(“我的错误:+error+”:“+code”);
/*如果(代码==“420”)
{
io.sockets.emit('gotweet');
}*/
});
stream.on('delete',函数(错误,代码){
log(“我的删除::”+代码);
});
这是开始流区的代码,用于使用
“twit”NPM。它在控制台中显示流媒体启动时同步的日期和时间,工作正常。但是有些时候推特没有得到正确的处理,当我在推特上推特时,这个流媒体没有得到那个推特。有什么解决办法吗

这是因为推特流中的语言:“en”

tweeter.stream('statuses/filter', { track: phrase, language: 'en' });
我只是删除了上面代码中的语言:“en”它的工作非常完美

tweeter.stream('statuses/filter', { track: phrase });