Day15
import requests import os import zipfile import numpy as np import pandas as pd from pandas import DataFrame import matplotlib.pyplot as plt import seaborn as sns; sns.set();
・seaborn.....pythonでグラフを作るためのライブラリ
・sns.set()でグラフが作れちゃうらしい。
# 一覧の取得関数を作成 EDINET_API_URL = "https://disclosure.edinet-fsa.go.jp/api/v1" def get_submitted_summary(params): url = EDINET_API_URL + '/documents.json' response = requests.get(url, params=params) assert response.status_code==200 return response.json()
・edinet_api_urlを作成して、
・そこにparamsを渡すget_submitted_summary関数を作る。
・urlに最初に作成したUR Lにdocuments.jsonを付け加える。
・responseにrequestした情報をurlとparamsを取得して、
・status_codeが200じゃなかったらエラーを表示する。assertは条件文がTrue以外の時に例外を投げる。
・response.json().......jsonを読み取る。
# 作成した関数を呼び出して一覧を取得し、pandasのDataFrameに変換することで利用できる date = '2020-03-30' SUMMARY_TYPE = 2 params = {'date':date, 'type':SUMMARY_TYPE} doc_summary = get_submitted_summary(params) df_doc_summary = pd.DataFrame(doc_summary['results']) # 1 df_doc_summary # 書類を取得する関数 def get_document(doc_id, params): url = EDINET_API_URL + '/documents/' + doc_id response = requests.get(url, params) return response # zip形式でダウンロードする関数 def download_document(doc_id, save_path): params = {'type': 1} doc = get_document(doc_id, params) if doc.status_code == 200: with open(save_path + doc_id + '.zip', 'wb') as f: for chunk in doc.iter_content(chunk_size=1024): f.write(chunk) df_doc_summary.query('edinetCode=="E31070"') download_document(doc_id='S100IC1B', save_path='./')
・df_doc_summary.query('edinetCode=="E31070"').........queryメソッドを使用することで、行を選択する事ができる。
次回からはコードを読むことに労力をかけよう。そしてそれがたまったら再度それを書いてみよう。そうしよ。だから次回からは、説明を多くとることにしよ。
ありがとうございます!
https://data-analytics.fun/2020/12/22/ufo-analysis-data-collection/