4

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&current_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)
4

1 に答える 1

2

URL の末尾は次のようになります:?api_token=ab123cd45ですが、既に URL のクエリ文字列部分に含まれているため、次のようになります: &api_token=ab123cd45. ( を に置き換え?ます&。)

API を使用する場合は、リクエストの使用を検討する必要があります。

于 2013-12-16T19:51:58.613 に答える