-2

我只是在做一些从一些 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 个请求,那么做一些等待或睡眠直到第二天,然后做剩下的,但我认为这应该做得更好,但我真的不知道怎么做。

希望有人可以在这里提供帮助。

谢谢 :)

4

1 回答 1

0

好的,我会变成这样的。我将在每次查询后保存 id,并编写一个脚本来过滤缺少 woeid 的对象并查询它们(但不超过 10k),并每天使用 kronos 运行脚本。

谢谢大家 :)

于 2012-12-19T10:54:59.650 回答