한국 거래소에 올라와 있는 엑셀파일을 다운받는 것을 구현해보았다.

 

코드:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import requests
import pandas as pd
from io import BytesIO
 
def get_Excel(tdate):
    gen_req_url = "http://marketdata.krx.co.kr/contents/COM/GenerateOTP.jspx"
    query_str_params = {
        'name''fileDown',
        'filetype''xls',
        'url''MKD/13/1302/13020402/mkd13020402',
        'market_gubun''ALL',
        'lmt_tp''1',
        'sect_tp_cd''ALL',
        'schdate': tdate,
        'pagePath''/contents/MKD/13/1302/13020402/MKD13020402.jsp'
    }
    r = requests.get(gen_req_url, query_str_params)
    gen_req_url = 'http://file.krx.co.kr/download.jspx'
    headers = {
        'Referer''http://marketdata.krx.co.kr/mdi'
    }
    form_data = {
        'code': r.content
    }
    r = requests.post(gen_req_url, form_data, headers=headers)
    r.content
    df = pd.read_excel(BytesIO(r.content))
    file_dir = "E:/3_2/python/Crawlling/data/"
    file_name = str(tdate)+'.xls'
    df.to_excel(file_dir + file_name)
    print(tdate, " crawlling")
    return
 
for year in range(2018,2019):
    for month in range(1,13):
        for day in range(1,32):
            tdate = year * 10000 + month * 100 + day * 1
            if tdate <= 20191002:
                get_Excel(tdate)
cs

 

실행결과 :

다운받아지는 모습이다.

엑셀파일 모습이다.

 

 

+ Recent posts