制作多个API查询Python

时间:2014-09-13 20:53:43

标签: python

我正在尝试在Python中进行API查询,以返回印度尼西亚的区域列表及其唯一ID。我能够从API中提取数据并将其存储为JSON。

但是,API查询仅返回前100个结果。在这个特殊的例子中,我知道印度尼西亚有700多个区,所以它需要7个查询(但由于我并不总是知道一个国家有多少区,我希望能够运行一个循环保持查询,直到所有结果都用完为止。

理想情况下,我想对API进行重复查询,并将每个查询的结果附加到一个变量中,直到我提取完整的区域列表。

e.g。 查询1:在变量X中存储结果1 - 100 查询2:将结果101-200附加到变量X. 重复,直到存储所有结果。

有关API的详细信息,请参阅此处:https://gtmp.linkssystem.org/docs/districts

这是我开始的代码:

from urllib2 import Request, urlopen, URLError

request = Request('https://gtmp.linkssystem.org/api/districts?admin0=indonesia')

response = urlopen(request)
geo = response.read()

import json
geolist = json.loads(geo)

如果这会影响任何事情,我希望将所有结果写成.csv,如下所示:

import csv

with open('C:\\Users\\Owner\\Desktop\\geo.csv', 'wb') as fp:
    a = csv.writer(fp)
    a.writerow(["admin0id", "admin0","admin1id","admin1","admin2id","admin2","admin3id","admin3"])
    for e in geolist:
        a.writerow([e["admin0id"],
                    e["admin0"],
                    e["admin1id"],
                    e["admin1"],
                    e["admin2id"],
                    e["admin2"],
                    e["admin3id"],
                    e["admin3"]])

0 个答案:

没有答案