-2

APIからデータを取得するプログラムを実行しています。yql を使用して yahoo geo にアクセスし、いくつかのジオネーム 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 は 1 日あたり 10k のリクエストしか許可しないため、10k のリクエストを取得して「待機」し、翌日には次の 10k で続行するロジックを使用する必要があることです。すべてのデータのループを開始できます。 10k のリクエストが行われた場合は、次の日まで待機またはスリープを行い、残りの作業を行います。

誰かがここで助けてくれることを願っています。

ありがとうございました :)

4

1 に答える 1

0

よし、こんな感じにします。各クエリの後にIDを保存し、woeidが欠落しているオブジェクトをフィルタリングしてクエリを実行するスクリプトを作成し(ただし、10k以下)、kronosなどで毎日スクリプトを実行します。

ありがとうございます :)

于 2012-12-19T10:54:59.650 に答える