Polite Crawling with await & async

전생에 크롤링을 못하고 죽었나 싶을 정도로 또 크롤링을 돌리고 있다. 초기에는 특정 서비스에서 사진 / 동영상을 크롤링하는 코드를 Node.js CLI 로 짰다. 이 코드는 아주 잘 작동했지만, 한 가지 치명적인 단점이 있었다. 그건 바로 sync-request를 쓰는 것도 모자라, C++ binding을 사용해 Node의 모든 이벤트 루핑을 막아버리는 sleep이라는 패키지까지 가져다 썼다는 것. sleep을 사용한 이유는 너무 […]

crawling with nodejs

베트남의 모든 은행들과 그 지점정보들의 목록이 필요했다. 다음 목록은 내가 스크립트를 짜면서 가져다 쓴 라이브러리와 그 용도. cheerio : 서버에서 HTML document를 파싱하는 데에 프론트엔드 개발자인 내가 편한 server-side jQuery를 사용. lodash : 그냥 스크립트 짤 때 짜기 귀찮은 함수들 어지간히 다 있어서 걍 임포트. 적당히 trim, uniqWith, isEqual 정도를 사용. sprintf-js : 대부분의 프로그래머가 익숙한 C […]

로봇이 아닙니다 크롤링

I’m not a robot. 국내 최대 비트코인거래소 빗썸의 거래내역을 크롤링할 일이 생겼다. 로그인할 수 없었다. 그래서 이 포스팅을 작성한다.   해결책을 먼저 공개하자면 ‘Web Scraper’ 라는 크롬 익스텐션을 사용하면 된다. 괜히 로봇이 아닌척 하려고 하지 말자. 그냥 웹브라우저로 정상적으로 로그인한 뒤, 위 크롬 확장도구로 긁어오면 된다. F12 또는 커맨드+옵션+i 로 크롬 개발자도구를 활성화 시킨 뒤에 […]