我正在做一些从某些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请求,那么做一些等待或睡眠的东西直到第二天,并做其余的事情,但这应该做得更好我想,但我真的不知道如何。
希望有人可以在这里帮忙。
谢谢:)
答案 0 :(得分:0)
好的,我会这样做的。我将在每次查询后保存id,并编写一个脚本,用于过滤丢失了woeids的对象并查询它们(但不超过10k)并且每天使用例如克罗诺斯。
感谢所有人:)