我只是在做一些从一些 api 中获取一些数据的程序。我使用 yql 访问 yahoo geo 的东西以匹配一些 geonames id。例如:
def get_woeid(geonames_id):
y = yql.Public()
query = 'select * from geo.concordance where \
namespace="geonames" and text="' + geonames_id + '"'
result = y.execute(query)
for row in result.rows:
print row.get('woeid')
此函数从数据库中获取 geonames_id,并请求将该 id 与来自 yahoo geo 的 woeid(地球上的 id)匹配。
问题是这个 api 东西每天只允许 10k 请求,所以我必须使用一些逻辑来获取 10k 请求并“等待”,第二天它将继续下一个 10k .. 我可以开始循环所有数据如果有 10k 个请求,那么做一些等待或睡眠直到第二天,然后做剩下的,但我认为这应该做得更好,但我真的不知道怎么做。
希望有人可以在这里提供帮助。
谢谢 :)