Requset 수고 했어

이것 저것 많은데, 그냥 나는 axios 로 정했다.

NPM Trends 에서는 got 이 갓 이지만…

잘 비교 해주신 블로그가 있어서 그리고 어차피 나는 GET만 쓸거여서

axios 로 정했다.

참고한 블로그 - [Node.js] Http 라이브러리 비교

설치 쉽다.

npm install -P axios 

이맛에 노드 하지. 이제 컴파일… 못한다…

index.js 만들자

대강 Axios 로 간단하게 만들면 된다.

그런데… 우리 100 개 loop 돌아야 한다.

그럼 당연히 쓸 꺼 써야지.

npm i -P lodash

주식 하면 원래 다 스스로 표도 보고 심지어 회사도 가보고 근무하는 사람도 만나보라고 했는데…

나는 시간이 없다.

개인적인 프로젝트를 하나 진행하려고 한다.

Azure 를 활용하는 것이지만 모두가 좋아하는 주식에 관한 것이다.

뭐 비공개된 것은 아니지만 그냥 마음이 뭔가 그래서 크게 널리 알리지는 않을까 한다.

뭘 하려고?

간단하다.

네이버 증권에서 주식 정보를 가져다가

내가 원하는 무언가가 있는 지 하루에 한번씩 검사하려고 한다.

우선 api 사용에 대해서 확인하고

가능하면 node 로 후르륵 짜고

이 짠 것을 Azure 에 살포시 올려서ㄴㄴ

또 결과를 나름 또 저장해보려고 한다.

저장이 되는데 무언가 와우 할 것이 있으면 나에게 알려주도록 하려고 한다.

진행하려는 곳은

나의 깃 계정..

https://github.com/changbaebang/stockToyProj

이곳에 코드를 올려서 진행하려고 한다.

누군가 PR 을 올려 주려나 싶긴한데.. 뭐 우선 그냥 일단 나나 잘해보자

가능은 한지 휘리릭 봤다.

원래 Post Man 을 많이 사랑했었다.

그런데 그냥 무거워서 요새 잘 안쓴다.

Talend API Tester - Free Edition

요새는 이걸 쓰고 있다.

로컬에서 저장도 되고, 뭐 사용하는데 크게 흠은 없다.

이것으로 무엇을 하려고 하냐면

크롬 개발자 도구로 ajax 통신 혹은 html 통신을 확인해서

내가 스윽 가져다 쓸 수 있는 지 확인하려고 한다.

확인해보자

네이버 주식 PC 화면은… 아 유지보수 안하나?

진도를 쓰고 있다.

진도… 아… 네이버와 JavaScript 는 나에게 여러 아픔을 주었었다.

네이버… 이제 네이버가 아닌 여러 회사들이 되었겠지만…

아마 나는 이제 서류도 안될 것 같다.

면접은 항상 성실하게 그리고 열심히 최선을 다해서 봐야한다.

애잔하고 간절함이 필요하다.

종목 얻어오기

나는 쫄보라 Kospi 100 위권만 보고 싶다.

가능 할까?

간단히 된다.

네이버 주식 PC 페에지에서는 html 을 통으로 서버에서 내린다.

종목에 대한 목록을 얻어와서 클라이언트에서 동적으로 붙이는 그런 순수한(?) 일 안한다.

https://m.stock.naver.com/api/json/sise/siseListJson.nhn?menu=market_sum&sosok=0&pageSize=100&page=1

이렇게 보내면 간단히 100 개의 종목이 넘어온다.

다만 뭐 이것도 https://m.stock.naver.com/index.nhn 로 진입하면 페이지에 박아서 내려오는데

종목 더보기를 추가하면 그 때 리스트를 가지고 온다.

휴.. 뭐 내가 유지보수 안하니까 그냥 넘어가자. 다들 잘 하시고 열심히 하시고 최선을 다하시겠지

종목 상세 정보 얻어오자

이것도 된다.

이건 처음부터 페이지에서 ajax 로 요청한다.

페이지에 대한 생각은 일단 접자 나는 시간이 없고 빨리 봐야 하니까…

근데 블로그도 남기면서 개발하는 거면 그렇게 시간이 없어 보이진 않는다.

아.. 이거 개발이라고 하기도 뭐하긴 하다.

https://m.stock.naver.com/api/item/getTrendList.nhn?code=005930&size=1

이제껏 다 GET 이다.

간단하네.

트레픽만 많이 안일으키면 안바꾸시겠지…

퍼고 뭐고 다 귀찮다.

퍼는 그냥 맛있는 쌀국수다.

사실 나는 그냥 몰라서 피터 린치를 좋아하는 것 같다고 하고 다녔다.

하지만 그렇지는 못한것 같다.

뭐 배당 많이 주면 좋고

주식은 크게 10 홈런 안쳐도 좋을 것 같다.

나도 40대에 은퇴하고 싶었지만

이미 늦었다.

난 안된다.

음악으로 먹고 살수 있을 거라고 20대에 그중 0.0000001 % 정도 생각해본 적이 있었지만

그것을 떨쳐낸 후 열심히 벌고 있다.

그냥 1원씩 모아서 사는 게 나에게 주어진 길인 것 같다.

가리워진 나의 길...

유재하 보고 싶다. 못봐서 그렇다. (나름 나는 나이가 젊다.)

아 또 삼천포 왔구나.. 다시 돌아가자..

네이버 주식 자세히 보면 컨센서스 라는 항목이 있다.

와이즈에프엔 제공 이라고 하는데..

사실 뭐 증권사 예측 정보 다 긁어와도 되는데…

나는 시간이 없다..

https://m.stock.naver.com/api/html/item/getOverallInfo.nhn?code=005930

로 받고 파싱하자

위에 html 을 다른거로 바꿔볼까 했는데 json 이라고 했는데 안되서 그냥 바로 접었다.

내부 굳이 볼필요 없다.

사람이 만들어 놓은거 허락 없이 들어가서 보는 거 아니다.

사이즈를 재보자

그럼 간단하다

get 으로 1 + (x) * 2 방 날린다.

볼 종목 개수가 100 이 될듯 하니 총 201 날리면 되겠다.

종목목록 1번 각 종목당 상세 정보와 컨센서스 보기 위한 html

그리고 나서 x * 1 번 파싱을 해서 정보를 얻어와야 한다.

그럼 100 번의 파싱 작업이 필요하다.

그럼 일단 node.js 를 사용하도록 하고 (deno 쓸까 했지만.. 난 역시 공부를 안한다.)

시간 되면 Spring 으로 포팅도 해볼까 한다.

그리고 request 가 이제 쫑이 났는데.. 대체할 것이 뭐가 있을 지 확인을 해봐야겠다.

그리고 parse 도 뭐가 좋을지 확인을 해서 찾아봐야겠다.

그러면 우선 종목당 컨센서스 정보를 얻어오는 것은 처리를 할 수 있을 것 같다.

오늘은 여기까지만 하자

아 피곤하다.

EOF