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 のリクエストが行われた場合は、次の日まで待機またはスリープを行い、残りの作業を行います。
誰かがここで助けてくれることを願っています。
ありがとうございました :)