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/