2016-06-16 15 views
0

(列に格納された)テキストファイルから値を読み取り、URLパラメータに渡そうとしています。著者IDは一意であり、テキストファイルからID値を反復したいと思います。テキストファイルから値を読み取ってURLパラメータとして渡す方法

コンテンツのデータ型がリストされ、次のようになります。

['7202106849\n', '7201570041\n', ....] 

ここで私はこれまで(私は完全にそのことを知っていると私は反復して通過著者IDを持ついくつかの助けを必要と書かれているコードがあります)URLパラメータなどのコンテンツから

with open('collab_id_2008.txt') as f: 
content = f.readlines() 

url = "https://api.elsevier.com/content/author/author_id/6602198520?view=metrics" 
resp = requests.get(url, headers={'Accept':'application/json','X-ELS-APIKey': 'xxxxxxx', 'X-ELS-Insttoken': 'xxxxxxxx'}) 
print json.dumps(resp.json(), sort_keys=True, indent=4, separators=(',', ': ')) 
+0

あなたが必要と 'help'いくつかは何ですか? –

+0

現在、APIは単一の著者IDの情報のみを取得できます。著者のIDをコンテンツのurlパラメータに渡して、テキストファイル内のすべての著者のメトリックを取得したいと思います。 – anandg112

答えて

3

次のようなものは、あなたが行くを取得する必要があります:

import requests 
import json 


with open('collab_id_2008.txt') as f_input: 
    for id in f_input: 
     url = "https://api.elsevier.com/content/author/author_id/{}?view=metrics".format(id.strip()) 
     resp = requests.get(url, headers={'Accept':'application/json','X-ELS-APIKey': 'xxxxxxx', 'X-ELS-Insttoken': 'xxxxxxxx'}) 
     print json.dumps(resp.json(), sort_keys=True, indent=4, separators=(',', ': ')) 

これはあなたの入力ファイルを読み、あなたのURLにidを置き換えます。ファイルに出力するには


は、それが本当にここに、あなたが必要とするフォーマットに依存して一例です:

with open('collab_id_2008.txt') as f_input, open('output.txt', 'w') as f_output: 
    for id in f_input: 
     url = "https://api.elsevier.com/content/author/author_id/{}?view=metrics".format(id.strip()) 
     resp = requests.get(url, headers={'Accept':'application/json','X-ELS-APIKey': 'xxxxxxx', 'X-ELS-Insttoken': 'xxxxxxxx'}) 
     print json.dumps(resp.json(), sort_keys=True, indent=4, separators=(',', ': ')) 
     json.dump(resp.json(), f_output) 
+0

ありがとうマーティン!これは素晴らしいです。結果を出力するのではなく、出力をCSVファイルまたはJSONファイルに書きたいと思います。任意のヒント? – anandg112

+0

あなたのapiキーを持っていない私はあなたが得ている出力を見ることができませんが、 'json.dump()'を使ってファイルにjsonを書くことができます。私は例を追加しました。 –

関連する問題