通过HTTParty和Ruby on Rails使用分页的Github API数据

时间:2018-07-17 13:38:09

标签: ruby-on-rails github-api httparty

我正在为Github的存储库数据构建一个Web抓取工具,并将特定的回购属性存储在本地数据库中。我目前遇到一个问题,无法将数据超过一页(100条记录)的限制。

这是我的api调用和提取适当数据的方法:

require 'active_interaction'
require 'json'
class GitHubGet < ActiveInteraction::Base
  def execute
    response = HTTParty.get(process_path)
    # extract_github_data(response)
  end

  def extract_github_data(response)
    parsed_response = JSON.parse(response.body)
    result = []
    parsed_response["items"].each do |item|
      if item["updated_at"] > 1.day.ago
        result << {
          name: item["name"],
          owner: item["owner"]["login"],
          url: item["url"],
          stars: item["stargazers_count"]
        }
      end
    end
    puts result 
  end 

  private

  def process_path
    "https://api.github.com/search/repositories?q=license:mit+license:apache-2.0+license:gpl+license:lgpl+stars:1..2000+fork:false&per_page=100"
  end

end 

任何关于获取多于一页数据的帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

响应对象的标题中有一个键链接,其网址为下一页。