#!/app/python/bin/python from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProducer(bootstrap_servers=[‘node1.qrm:9092′,’node2.qrm:9092′,’node3.qrm:9092’]) producer.send(‘accesslog_wp-bigdata’,str.encode(‘this is test’))
[Python] Flask – wsgi를 이용한 Apache httpd 연동
wsgi를 이용한 Apache httpd 연동 wsgi를 이용해서 apache httpd 웹서버가 flask application 을 서비스할 수 있다. python 프로세스 단위로 실행시킬 수도 있지만, ssl 보안 연결이나 가상 호스트 사용 등 httpd 에 얹어서 쓰면 관리 차원에서 httpd 에 얹어 쓰는게 좋을 듯 하다. 패키지 설치 크게 버전을 타지 않는 라이브러리들은 yum 을 이용해서 설치 하고, apache […]
[Python] Folium – 지리정보 시각화
Folium Folium은 Leaflet.js를 이용하여 위치 좌표계 값을 지도 위에 시각화할 수 있다. Map 먼저 Map 클래스를 로드해서 범위를 지정해준다. location 속성으로 주시하고자 하는 지도의 정중앙 좌표를 설정하고, zoom_start 속성으로 배율을 설정한다. 보고자 하는 위치의 좌표계 값을 얻어내는 가장 단순한 방법은 Google 지도를 이용하는 방법이다. 아래와 같이 구글 지도에서 검색을 하면 상단 주소창에 해당 위치의 대략적인 […]
[Python] Flask – 웹페이지 만들기
python flask – 웹 페이지 만들기 render_template 를 이용해서 웹페이지를 생성해낼 수 있다. python flask – 초간단 WEB API/함수 포스팅에 이어서 해당 결과를 웹페이지로 표현한다. 앞선 포스트에서는 다음과 같이 lotto 당첨 결과를 json 형태로 반환해주었다. 위와 같이 함수 결과를 http로 리턴받을 수 있었는데 여기에 적절한 템플릿과 스타일만 더해주면 웹페이지를 생성해낼 수 있다. main.py 아래와 같이 […]
[Python] Flask – 초간단 WEB API/함수
python flask – 초간단 WEB API/함수 flask를 이용하면 단 몇 줄 만으로 웹 서비스를 생성해낼 수 있다. 설치 pip install flask Hello World 아래와 같이 app이라는 flask 인스턴스를 생성하고, decorator를 이용해서 / 경로에 GET 요청이 있을 때 ‘Hello Word!’ 라는 메시지를 뿌려주는 웹서버를 간단하게 생성해줄 수 있다. # hello_world.py import flask app = flask.Flask(__name__) app.config[“DEBUG”] […]
[Python] selenium을 이용한 crawler – 로또 당첨 판매점 정보
selenium을 이용한 crawler – 로또 당첨 판매점 정보 Selenium Web Driver를 이용해서, Session을 유지한 상태에서 정보를 수집하는 Crawler 를 만든다. https://www.dhlottery.co.kr/store.do?method=topStore&pageGubun=L645 페이지에 들어가면 회차별 1등 배출점을 조회할 수 있다. 회차를 선택하기 위해서는 Select Box에서 확인하고자 하는 회차를 선택하면 되는데, url을 통해서 접근할 수는 없다. 이 때문에 특정 회차의 당첨 판매점을 조회하기 위해서는 최초 페이지에 접속한 […]
[Python] requests를 이용한 crawler – 로또 회차별 당첨 결과
requests를 이용한 crawler – 로또 회차별 당첨 결과 Python 을 이용해서 로또 당첨 결과를 수집하는 Crawler를 만든다. 목표 https://www.dhlottery.co.kr/gameResult.do?method=byWin&drwNo=1 페이지에 들어가면 아래와 같이 회차별 당첨 정보를 조회할 수 있는데, 각 회차별 페이지에서 아래 표시된 당첨 번호, 보너스 번호, 등위별 당첨금액, 등위별 당첨 게임 수 데이터를 수집한다. 만들기 requests pip install requests 명령으로 requests 패키지를 설치한다. […]
[Python] JayDeBeApi
JayDeBeApi The JayDeBeApi module allows you to connect from Python code to databases using Java JDBC. It provides a Python DB-API v2.0 to that database. https://pypi.org/project/JayDeBeApi/ install jdbc를 사용하다보니 java가 설치돼 있어야 한다. Python Version $ python –version Python 3.6.6 pip를 이용한 설치 $ pip install JayDeBeApi Collecting JayDeBeApi Downloading https://files.pythonhosted.org/packages/2a/63/5fbffcbf0463fe26f55ee8ff08bcbb812cab4df2decddfac645cbac966ed/JayDeBeApi-1.1.1-py3-none-any.whl Collecting JPype1 (from JayDeBeApi) […]
[Python] Command Line Arguments
Python Command-Line Arguments sys 모듈 이용 #!/bin/python import sys print (“\nNumber of arguments: “, len(sys.argv),”\n”) print (“Type of sys.argv: “, type(sys.argv),”\n”) print (“Arguments: “, sys.argv,”\n”) for i in range(len(sys.argv)): print(i,type(sys.argv[i]),sys.argv[i]) print () ./cmd_lagrs.py one 2 three "four five six" 명령으로 위 프로그램을 실행하면 Number of arguments: 5 Type of sys.argv: <class ‘list’> Arguments: [‘./cmd_lagrs.py’, ‘one’, […]
[Python] 파일 입출력
Python 파일 입출력 기본 함수인 open() 을 이용하여 파일 입출력이 가능하다. help(open) open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Open file and return a stream. Raise IOError upon failure. file 유일하게 필수 입력사항이며 파일 경로를 지정해준다. mode 읽기/쓰기에 대한 상세 모드를 설정한다. 기본값은 ‘rt’ 이며 텍스트파일을 읽는 모드이다. 어떠한 작업을 수행하는지에 따라 ‘r’,’w’,’a’ 문자와 […]