有没有一种很好的方法来确定twitter搜索API返回了多少页面,或者有没有办法确定返回了多少个值并将其除以每页的twits数?
不会.API不公开这个; 不是因为它不是一个有用的功能,而是因为提供它的性能方面.
为了获得完整的结果计数,搜索算法必须完全迭代每个查询的索引.然后当你回到第二页时,它必须从第2页开始迭代它的索引再次给你计数.这意味着获取所有数据将是O(n ^ 2)(因为返回N个页面中的每一个都需要扫描所有后面的页面)而不是预期的O(n).
因为大多数请求者只需要几页结果,所以查询的常见优化只返回部分结果,只需指向索引即可让搜索在其停止的位置继续.
出于这些原因,大多数高规模分页API的行为方式类似.要获得准确的计数,您必须通过循环遍历页面来强制查询完全迭代其索引.这会带来远程服务的高成本,并且让您多次回来可以使服务适当地限制您的查询,因此它不会对其他用户产生负面影响.