有没有办法向Twitter发送查询参数,告诉它只在指定的时间内返回搜索结果?例如,请告诉我2011年7月24日美国东部时间下午12点到下午3点之间发布的这个“关键字”的结果?如果Twitter不允许您按时间搜索 - 并且只按日期搜索 - 那么结果中是否有任何内容可以让您查看用户发送推文的确切时间?
答案 0 :(得分:2)
据我所知,不是一种指定时间的方式(比日期更具体)。但是,在获取推文列表后,您可以通过比较每条推文的时间戳来删除那些不在指定时间范围内的推文。
我将使用twitter
gem:
require 'twitter'
require 'time'
start_time = Time.now - 3*3600
end_time = Time.now
search = Twitter::Search.new.contains('test')
search.since_date(start_time.strftime("%Y-%m-%d"))
search.until_date(end_time.strftime("%Y-%m-%d"))
tweets = search.fetch
tweets.delete_if { |t| Time.parse(t.created_at) < start_time }
tweets.delete_if { |t| Time.parse(t.created_at) > end_time }