我已经使用 Twitter 流 API 一段时间了,没有任何问题,但最近切换到使用 REST 并且有点困惑。
我正在尝试使用#vietnam 遍历推文的结果。阅读文档后,看来我应该使用 max_id 来执行此操作。
max_id = 70978401017678643100000000000000 #very big number to start out with
i = 1
2.times do
puts '----------SEARCHING WITH MAX_ID: ' + max_id.to_s
$twitter.search('#vietnam', result_type: "recent", lang: 'en', geocode: "14.05832400,108.27719900,100000mi", count: 100, max_id: max_id).each do |tweet|
puts "#{i} - tweet.id: " + tweet.id.to_s
i += 1
max_id = tweet.id if tweet.id < max_id
end
end
以下是终端的结果:
----------SEARCHING WITH MAX_ID: 70978401017678643100000000000000
1 - tweet.id: 713034427027361794
2 - tweet.id: 713030624164982785
3 - tweet.id: 713027195015413760
4 - tweet.id: 713022173246582784
5 - tweet.id: 713021690989641728
6 - tweet.id: 713013561396764672
7 - tweet.id: 713010847166177280
8 - tweet.id: 712997640930197505
...
341 - tweet.id: 709784010176786432
----------SEARCHING WITH MAX_ID: 709784010176786432
342 - tweet.id: 709784010176786432
搜索查询中的地理编码距离越南中心有 100,000 英里的半径,以确保我的结果不受位置限制。问题是在第二次迭代期间,结果只返回 1 条推文,即最后一个结果的 max_id。
我知道还有更多 341 条带有#vietnam 英文的推文,已通过 Twitter 的高级搜索功能验证: https ://twitter.com/search-advanced?lang=en
我的迭代技术有什么问题?