0
我只是嘗試使用nodejs與「Twit」(npm)流式傳輸tweets表單twitter,我的代碼如下所示。使用Nodejs「Twit」的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);
});
這是開始的流面積越來越流爲這個我使用 「蠢」 NPM。其顯示在控制檯的日期和時間同步流傳輸的同時開始,它的做工精細的代碼。但有些時候tweets沒有得到正確的處理,當我在Twitter上發佈推文時,這個流媒體沒有收到推文。有什麼解決方案嗎?