주말에 주가를 보는 법과 헤드리스 서버 스크래핑

26년 07월 04일

주말에도 주가를 본다

이날은 주말이었다.

주식 시장이 안 열린 날에 주가를 어떻게 보는지 정리했다.

그리고 헤드리스 서버에서 브라우저 없이 웹 데이터를 가져오는 방법도 정리했다.

한국 정규장은 주말에 안 돈다.

근데 주말에도 주가 방향을 가늠하고 싶을 때가 있다.

특히 금요일에 대폭락이 있었으면, 주말 내내 불안하다.

주말에 변동하는 건 두 가지다.

하나는 해외예탁증서 기반 추정가다.

한국 기업의 주식이 해외에서 거래되는데, 이걸 기준으로 국내 시세를 추정한다.

코스피랩 같은 사이트에서 제공한다.

다른 하나는 야간선물이다.

코스피200 야간선물이 거래된다.

손물 같은 사이트에서 실시간으로 볼 수 있다.

야간선물은 다음 날 코스피 시초가의 선행지표로 자주 쓰인다.

참고지표일 뿐이다

근데 둘 다

참고지표일 뿐이다.

추정가가 시초가를 결정하지 않는다.

단일 지표로 방향을 예측하면 안 된다.

참고로만 봐야 한다.

헤드리스 서버에서 스크래핑

데이터를 수집하려고 브라우저를 띄웠다.

근데 서버에 디스플레이가 없다.

Chrome이 디스플레이 초기화 실패로 즉시 종료됐다.

헤드리스 서버에서 브라우저 자동화를 쓸 수 없을 때의 fallback 체인을 정리했다.

1단계: jina.ai reader

브라우저를 안 쓰고 웹페이지를 가져오는 방법이다.

jina.ai reader 프록시에 URL을 넘기면, HTML을 마크다운으로 변환해서 준다.

브라우저가 필요 없다.

2단계: 도메인 확인

근데 400 에러가 났다.

원인은 도메인 오타였다.

코스피랩을 kosbilab으로 잘못 적은 거다.

fetch 에러는 도메인 오타 신호일 수 있다.

“왜 안 되지”라고 하기 전에 도메인을 먼저 확인해야 한다.

3단계: 검색 엔진 우회

구글은 리다이렉트를 차단했다.

DuckDuckGo HTML 엔드포인트로 우회했다.

검색으로 정확한 도메인을 찾고 거기서 데이터를 가져왔다.

fallback 체인의 교훈

브라우저가 안 되면 reader 프록시를 쓴다.

reader가 안 되면 도메인을 확인한다.

도메인이 틀리면 검색으로 찾는다.

각 단계마다 실패 원인이 다르고 해결 방법도 다르다.

하나가 실패했다고 전체가 실패한 게 아니다.

마무리

이날의 핵심은 “안 될 때 우회하는 법”이었다.

주말에 정규장이 안 열리면, 해외 추정가랑 야간선물로 방향을 가늠한다.

근데 이건 참고일 뿐이다.

참고지표를 투자 지표로 착각하면 안 된다.

브라우저가 안 되면 reader 프록시를 쓴다.

도메인이 틀렸으면 검색으로 찾는다.

각 실패에 맞는 우회가 있다.

“안 된다”고 포기하지 말고 왜 안 되는지 원인을 찾고 그 원인에 맞는 우회를 적용해야 한다.