質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

322閲覧

edinetから複数のデータを取得したいのですがうまくいきません

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/09/09 02:55

前提

edinetからデータを取得したいと思っています。
1年分、1社分だとできるのですが、一度に数点取得したいと思い、設定してみたのですができません。

実現したいこと

複数のデータを一度に取得したいです。

発生している問題・エラーメッセージ

ファイル名は変更されるのですが、中身がすべて同じになります。

該当のソースコード

python

1import requests 2 3import urllib3 4from urllib3.exceptions import InsecureRequestWarning 5urllib3.disable_warnings(InsecureRequestWarning) 6 7docid_0 = "S100OC13" #2021年度 第118期 8docid_1 = "S100LO6W" #2020年度 第117期 9docid_2 = "S100IUNR" #2019年度 第116期 10docid_3 = "S100G1ZO" #2018年度 第115期 11docid_4 = "S100DA2Y" #2017年度 第114期 12 13# 書類取得APIのエンドポイント 14for i in [docid_0, docid_1, docid_2, docid_3, docid_4]: 15 url_toyota = 'https://disclosure.edinet-fsa.go.jp/api/v1/documents/{}'.format(i) 16 17# 書類取得APIのリクエストパラメータ 18 params = { 19 "type" : 2 20 } 21 22# APIの呼び出し 23 res = requests.get(url_toyota, params=params, verify=False) 24 25# 出力ファイル名 26 filename_0 = docid_0 + ".pdf" 27 filename_1 = docid_1 + ".pdf" 28 filename_2 = docid_2 + ".pdf" 29 filename_3 = docid_3 + ".pdf" 30 filename_4 = docid_4 + ".pdf" 31 32# ファイルへ出力 33if res.status_code == 200: 34 with open(filename_0, 'wb') as f0: 35 with open(filename_1, 'wb') as f1: 36 with open(filename_2, 'wb') as f2: 37 with open(filename_3, 'wb') as f3: 38 with open(filename_4, 'wb') as f4: 39 40 for chunk in res.iter_content(chunk_size=1024): 41 f0.write(chunk) 42 f1.write(chunk) 43 f2.write(chunk) 44 f3.write(chunk) 45 f4.write(chunk)

試したこと

for文でurlの繰り返しはできている気がするのですが(一番最後の設定のデータが取得できているので)、その繰り返しされたデータをまとめて出力するやり方ができていないのかと思い、検索などしてみたのですが、うまく検索できず困っています。
ファイルに出力する際に、繰り返されたurlのどれに当たっているのかが設定できていない?とも思ったのですが、どうやっていいかわからず、です。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1import requests 2import urllib3 3from urllib3.exceptions import InsecureRequestWarning 4 5urllib3.disable_warnings(InsecureRequestWarning) 6 7docids = [ 8 "S100OC13", #2021年度 第118期 9 "S100LO6W", #2020年度 第117期 10 "S100IUNR", #2019年度 第116期 11 "S100G1ZO", #2018年度 第115期 12 "S100DA2Y", #2017年度 第114期 13] 14 15# 書類取得APIのエンドポイント 16url_toyota = 'https://disclosure.edinet-fsa.go.jp/api/v1/documents/{}' 17# 書類取得APIのリクエストパラメータ 18params = { 19 'type' : 2 20} 21 22for docid in docids: 23 # APIの呼び出し 24 res = requests.get(url_toyota.format(docid), params=params, verify=False) 25 if res.status_code == 200: 26 with open(f'{docid}.pdf', 'wb') as f: 27 for chunk in res.iter_content(chunk_size=1024): 28 f.write(chunk)

投稿2022/09/09 03:12

melian

総合スコア19714

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/09/09 04:07

ありがとうございます!無事全部取得できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問