2013-07-21 8 views
7

私はエンジェルリスト(AL)APIを使用していて、サンフランシスコのすべてのジョブを取得したいと考えています。 api用のアクティブなPythonラッパーが見つかりませんでした(私が前進した場合、自分で作ってみたいと思います)、リクエストライブラリを使用しています。PythonがAPIのページ付けに引数/処理を依頼しています

AL APIの結果にページが表示され、結果の最初のページを超えて移動する方法がわかりません。

import requests 
r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs").json() 
r_sanfran.keys() 
# returns [u'per_page', u'last_page', u'total', u'jobs', u'page'] 
r_sanfran['last_page'] 
#returns 16 
r_sanfran['page'] 
# returns 1 

私はrequests.getに引数を追加してみましたが、それは動作しませんでした:

は、ここに私のコードです。私はまた、何かを本当にダムしようとしました。そのような「ページ」キーの価値を変えることは、魔法のように私のページを変更するつもりでした。

例えば、 r_sanfran['page'] = 2

私はそれが比較的シンプルなものだと推測していますが、私はそれを理解できないので、どんな助けも素晴らしいと思います。

いつものように。

Angel List API documentation

答えて

12

読むlast_pageと範囲内の各ページに対してGETリクエストます

import requests 

r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs").json() 
num_pages = r_sanfran['last_page'] 

for page in range(2, num_pages + 1): 
    r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs", params={'page': page}).json() 
    print r_sanfran['page'] 
    # TODO: extract the data 
+2

私は '範囲でなければなりません推測している(2、NUM_PAGES + 1)'最初のページには、1、および16であるため、範囲の中に含まれていることを望むでしょう(そして 'requests.get( 'http:// ... blah ...?'、params = {'page' :page}) '文字列の補間を避けるために –

+0

ああ、私は要求でparams引数を渡すことができませんでした.get – crock1255

+0

ああ、私は何が起こっているのかを見ています。 co/1 ... angel.co/2など 助けてくれてありがとう! – crock1255

関連する問題