我正在为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
任何关于获取多于一页数据的帮助将不胜感激!谢谢!
答案 0 :(得分:0)
响应对象的标题中有一个键链接,其网址为下一页。