Siner's Blog


awscheat sheetcomputer sciencecontainercrawlingdartdatabasedjangodockergitgolanggraphqlhrhttpiacjavakubernetesmapmonitoringnestjsnetworknodeooppythonsecurityserverlessstorageterraformttbkktypescript,javascriptuxvalidation

https://user-images.githubusercontent.com/34048253/115137416-f99c3280-a060-11eb-8998-29af27199b93.png
프로덕션 레벨의 크롤러 개발 회고
python은 과연 크롤링하기 좋은 언어인가
15 min read2021.4.18

지난 25일동안 지인의 부탁으로 특정 게시판의 게시글들을 전부 크롤링하는 외주를 진행했었다. 이를 진행하면서 얻게 된 크롤링 관련 경험에 대해 적어보려고 한다. 지금까지 나의 크롤러 프로젝트는 python으로 개발이 되어있었는데, 이번엔 typescript로 작성해달라는 요구사항을 받아서 진행했고, 내가 느낀 python 크롤링과 javascript 기반 언어의 크롤링의 차이점에 대해서도 적어볼 수 있겠다. 회고는 크게 3가지 주제로 나눌 예정이다. python 크롤링 vs javascript(typescript) 크롤링 (크롤링 환경 구성) production(컨테이너) 레벨에서의 죽지않는 크롤러 만들기 (컨테이너의 메모리 관리 aka 브라우저 캐시데이터 관리) 크롤러를 만든다는 것 (해당 사이트의 개발 히스토리를 모두 파악하는 것) 1. python 크롤링 vs javascript(typescript) 크롤링 python을 사용한 크롤링 환경 구성시 google-chrome…

https://user-images.githubusercontent.com/34048253/155849689-6988ab4c-36b7-4118-b05f-5c1211e88c8c.png
셀레니움(Selenium)과 파이썬(Python)으로 지도 크롤링 해보기
14 min read2019.1.27

0) 계기 어느날 저희 아빠가 저에게, 아빠 : “이게 경기도 번지수를 보여주는 사이트인데, 일정 구역을 프린트해서 보고 싶어.” 아들 : “컴퓨터로 이렇게 잘 보이는데 왜 뽑아야되나요?” 아빠 : “어르신들과 같이 보는데 노트북으로 보여드리기는 그렇고, 전지로 뽑아가고 싶어.” 아들 : “네… 오늘 안에 처리해드리죠.” 해서 크롤러를 만들게 되었습니다. 1) 정보수집 보통의 지도 서비스에서는 지도 데이터를 각각의 작은 타일로 구성되어 있습니다. 따라서 그 작은 타일들을 전부 다운로드해서 하나의 이미지로 만드는 작업을 하면 됩니다. 일단 경기도부동산포털의 지도에서 타일 데이터(map tile)를 어떤 식으로 가져오는지 찾아봅시다. image 로딩과 동시에 페이지 검사를 들어가서 network 탭을 살펴보면, 아래와 같은 결과가 나옵니다. image 예상한대로 맵 타일을 여러 개 받아오는 것이 보이네요, 좀더 자세하게 확인하기 위해 하나를 클릭해봅시다. image image…

1