Ruby API 调用页面问题



这可能是一个基本问题,但很常见,因此将来可能对其他人有所帮助。我使用 HTTParty 向 API 发出 get 请求,该 API 返回一些信息,如下所示:

{
    datapath: "blah-blah.blah.blah",
    success: true,
    info: {
        row_limit: 500, 
        total_results: 2700,
        total_pages: 6, 
        current_page: 1
    }, 
    result: [
        {name: something, age: 1}, 
        {name: something, age: 2}, 
        {name: something, age: 3}, 
        {name: something, age: 4}, 
        {name: something, age: 5}, 
        ......
    ]
}

我想要一个所有名字的列表,所以我有这样的东西:

response = HTTParty.get('blah-blah.blah.blah')
names = response.map { |entry| entry["name"] }

使用这种方法,我只在第一页上获得名称,也就是前 500 个,但我想要 2700 个条目中的所有名称。我该怎么做?

事实上,一个快速的谷歌将我带到了这个页面 https://app.enigma.io/api#data 它告诉我有问题的参数是限制,最大值是 500。 因此,看起来您无法一次点击获取所有行的数据。

如果您真的需要一次所有行的数据(实际上也许您不需要),那么您可以通过 limit=500 并继续将页面增加 1,并在您最后合并结果以获得所有行。

相关内容

  • 没有找到相关文章

最新更新