我正在研究一种相当基本的Alexa技能,实质上,它通过特定的Twitter搜索来搜索主题标签,解析该推文并将其读回。从Twitter提要中提取数据的最简单方法是什么?我一直在使用Twitter API(见下文)和scraping data from Twitter appears to be against the TOS.时遇到问题
...如果按照robots.txt文件的规定进行,则允许抓取服务,但是,未经Twitter事先同意,明确禁止抓取服务。
写一个Alexa技能
I've seen this post讨论了Node.js OAuth实现,但是这种实现的必要性仍然让我感到厌烦。
我发现twitter Node包很有用。为了我的目的,我使用了搜索/推文GET API,如下所示。但是,您可以使用各种API来处理推文。下面的代码仅显示从Node JS中访问Twitter API所需的部分。
var Twitter = require('twitter');
var client = new Twitter({
// I added the keys as AWS Environment variables
consumer_key: process.env.consumer_key,
consumer_secret: process.env.consumer_secret,
access_token_key: process.env.access_token_key,
access_token_secret: process.env.access_token_secret
});
client.get('search/tweets', {q: <<your search query>>,count:<<if you want to receive specific number of tweets>>}, function(error, tweets, response) {
var noOfTweets = tweets.statuses.length;
if(error) {
speechOutput = "I could not find tweets for <<your reason>>"
self.emit(':tell', speechOutput);
} else if(noOfTweets === 0) {
speechOutput = "another speech output";
self.emit(':tell', speechOutput);
} else {
tweets.statuses.forEach(function(tweet) {
//process the tweet the way you want to.
});
}
});