주식데이터를 가져오는 방법으로는 증권사 api도 있고, github에 올려져 있는 여러 코드들도 있지만 Django 백앤드에 필요한 상장주식코드(ETF 포함)만 가져오는데 무겁게 하기 싫어 코드를 짜보았습니다. 여러 블로그와 github 코드를 참고하였는데 최근에 정책의 변화인지 기존의 글들을 따라하면 otp가 공백으로 들어오는 현상이 발생하더라구요.

insomnia에서 request를 보내면 되는데 VS code안에서는 공백이 돌아와서 한참 해맴...

https://leesunkyu94.github.io/data%20%EB%A7%8C%EB%93%A4%EA%B8%B0/make_data/#

https://github.com/sharebook-kr/pykrx

그래서 위 두 곳의 정보를 통해 코드를 재구성해 보았습니다. ( 제 생각에 종목코드 외에 과거 데이터, 공매도 데이터 등이 추가로 필요하면 위의 github 코드는 pypi에도 올려져 있으니 그냥 pip install pykrx 한 다음에 모듈을 사용하는 것이 가장 좋을 것 같습니다. )

감사하게도 계속 보수 중이십니다.

 

https://github.com/qhqnf/asset-dashboard/blob/master/stocks/management/commands/crawler.py

결론적으로는 위 블로그에서 기술된 기존 방식에서 헤더에 {"User-Agent": "Mozilla/5.0"} 만 더해주면 돌아가더라구요.  아마 무분별하게 크로울링을 하는 것을 방지하기 위해 웹을 통해 가져가도록 만든 것으로 예상이 됩니다. 그리고 제가 만든 종목코드와 현재가만 가져오는 코드는 위의 제 github에 있고, 제 코드는 전날의 데이터를 가져와서 데이터프레임을 iloc[0:3]을 해서 현재가까지만 column을 가져온 것 뿐입니다.

 

+ Recent posts