import requests
import urllib.parse
workfolder = "C:\\tmp\\"
# e-statのエクセルダウンロードボタン押下によるファイル取得処理
def download_table(path):
# ページアクセス
session = requests.Session()
# ボタンクリック
res = session.get(path)
res.raise_for_status()
# レスポンスで返ってきたコンテンツを保存
contentType = res.headers['Content-Type']
contentDisposition = res.headers['Content-Disposition']
ATTRIBUTE = "attachment; filename*=UTF-8''"
fileName = urllib.parse.unquote(contentDisposition[contentDisposition.find(ATTRIBUTE) + len(ATTRIBUTE):])
with open(workfolder + fileName, 'wb') as saveFile:
saveFile.write(res.content)
for id in range(31637406, 31637428): #平成29年介護事業経営実態調査 第23表から第43表まで
# 表番号指定
tableID = str(id).zfill(12)
# ファイルダウンロードボタンのURL設定
api = "https://www.e-stat.go.jp/stat-search/file-download?statInfId={key}&fileKind=0"
url = api.format(key = tableID)
download_table(url)
このプログラムでダウンロードしたファイルを、さらに別プログラムで処理した結果が下記の内容。
意味のないグラフだが、大きな一歩である・・・かもしれないグラフ - 株式会社メディチュア Blog |