Em vez de minerar tweets com base em termos individuais,
também podemos exigir que os tweets contenham TODOS os termos desejados.
por exemplo, “apple” ou “maps” VS “apple” e “maps”
ORs lógicos são delimitados
por vírgulas, por exemplo, “apple”, “maps”
ANDs lógicos são delimitados
por espaço: por exemplo, “mapas da maçã”
Podemos até combinar os dois:
por exemplo, “apple maps”, “apple google”
require 'twitter'
require 'tweetstream'
# Tweets with the following terms
criteria = ['apple maps', 'google apple']
TweetStream.configure do |config|
config.consumer_key = ENV['CONSUMER_KEY']
config.consumer_secret = ENV['CONSUMER_SECRET']
config.oauth_token = ENV['OAUTH_TOKEN']
config.oauth_token_secret = ENV['OAUTH_SECRET']
config.auth_method = :oauth
end
# Match Tweets with Apple AND (Google OR Maps)
TweetStream::Client.new.track(*criteria) do |status|
tweet = status.text.downcase
term = tweet.include?('google') ? 'Google' : 'Maps'
puts "#{status.user[:id]} tweeted about #{term}"
end
Isso nos dá a capacidade de capturar mais explicitamente apenas os tweets que realmente desejamos.