본문 바로가기

전체글143

[KAFKA] 무작정 시작하기 (1) - 설치 & 실행 실시간 스트리밍에 대해서 알아보다가 메시지 브로커인 Kafka에 대해서 알게되었다. Kakao에서도 사용사례가 있다는 것을 보고 더욱 관심이 생겨서 알아보고 직접 사용해보게 되었다. 이 포스트에서는 Kafka를 Windows기반으로 셋팅하는 방법을 다루어 보도록 하겠다. 1. Kafka란? 1-1. 메시지 브로커, 메시지 큐라고도 함. - Producer가 메시지를 Broker에 적재해두면 Consumer들은 Broker로부터 메시지를 소비함. 1-2. 이기종 간의 호환성이 뛰어남. - 하둡, 오라클, Elasticsearch 등 다양한 플랫폼과 호환됨. 1-3. Broker는 Leader와 Follower로 역할이 나뉘어짐. - Leader가 작업을 할 수 없는 상태가 되면 Follower 중 하나가 .. 2019. 11. 19.
[SELECTOR] XPATH와 CSS Selector 차이 처음 python으로 크롤러를 만들때 requests와 bs4를 사용하였는데, bs4에는 XPATH에 대한 개념이 존재하지않았다. 그래서 자연스럽게 CSS Selector에 익숙해져 있었는데, Selenium과 Scrapy를 접하면서 XPATH를 사용하는 예제들이 많이 보였고 자연스럽게 XPATH에 대해서 알아보고 사용하게 되었다. 이 포스트는 사용하면서 느낀 두 선택자에 대한 정리이다. 우선 CSS Selector는 태그의 패턴을 이용해 탐색하는 선택자이며, 웹 개발자에게 가장 익숙한 선택자일 것이다. stylesheets나 javascript에서 document.querySelector() 또는 jquery로 많이 접해봤을 것이다. 그만큼 우리에게 익숙하고 널리 사용되고 있는 선택자이다. 필자도 ja.. 2019. 11. 19.
[크롤링] 무작정 시작하기 (2) - 프로젝트 준비 2019/11/19 - [Back-end/Python] - [크롤링] 무작정 시작하기 (1) - 패키지 선택 이번에는 이전 포스트에 이어서 이번 포스트에서는 프로젝트 셋팅을 하도록하겠다. 크롤링할 대상은 '네이버 뉴스'로 하였으며, 수집한 데이터는 상업적인 목적으로 이용할 의도가 없음을 알려드립니다. 1. 가상환경생성 1-1. python에서 프로젝트를 새로 생성하면 가장 먼저해야하는 일은 바로 가상환경을 생성. 1 2 3 4 5 6 7 8 9 10 $ pip install virtualenv # virtualenv 패키지 설치 $ virtualenv --version # 설치 확인 16.7.7 $ virtualenv .venv # 가상환경 생성 $ source .venv/bin/activate # 가상.. 2019. 11. 19.
[크롤링] 무작정 시작하기 (1) - 패키지 선택 웹에는 방대한 양의 데이터들이 존재한다. 원하는 정보를 얻기위해 하나하나 검색해가며 데이터를 수집하는 것은 비효율적인 일이다. 이 때, 우리에게 필요한 것이 바로 '웹 크롤러(Web Crawler)'이다. 웹 크롤러(이하 크롤러)는 웹에서 특정 데이터들을 수집하는 일을 자동화한 프로그램이며, web-scraping, spidering이라고도 불리운다. 크롤러는 크게 수집(Scrapping)과 가공(Parsing) 두개의 단계로 구분되어진다. 수집(Scrapping)은 웹페이지의 HTML 소스를 긁어오는 것으로 urllib, requests, selenium 등의 라이브러리가 사용된다. 1. urllib python 기본 라이브러리이며 request를 작성하는 방식이 사용자 친화적이지 않아서 불편하지만, .. 2019. 11. 19.