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