我正在尝试访问opencorporates.com.页面说明这是GET方法
http://api.opencorporates.com/companies/gb/00102498?api_token=ab123cd45的经过身份验证的版本.
这是我访问数据集的代码.在这里,我通过我在文件中收集的代码更改管辖区代码.即使我不使用api令牌,我也可以使用api令牌收集相同数量的数据.我在这里做错了吗?
import urllib2
import json,os
f = open('codes','r')
for line in f.readlines():
id = line.strip('\n')
url = 'http://api.opencorporates.com/v0.2/companies/search?q=&jurisdiction_code={0}&per_page=26¤t_status=Active&page={1}?api_token=ab123cd45'
i = 0
directory = id
os.makedirs(directory)
while True:
i += 1
req = urllib2.Request(url.format(id, i))
print url.format(id,i)
try:
response = urllib2.urlopen(url.format(id, i))
except urllib2.HTTPError, e:
break
content = response.read()
fo = str(i) + '.json'
OUTFILE = os.path.join(directory, fo)
with open(OUTFILE, 'w') as f:
f.write(content)
最佳答案 您的网址结尾如下所示:?api_token = ab123cd45,但它已经位于网址的查询字符串部分中,因此它应该如下所示:& api_token = ab123cd45. (用&替换?)
在使用API时,您应该考虑使用Requests.