Kakao API – 주소 좌표 변환하기 Daum 지도 검색에 사용되는 주소 정보로 위도 경도 좌표 값을 받아낼 수 있다. 상세 개발가이드는 아래 페이지에서 확인 가능. https://developers.kakao.com/docs/restapi/local 카카오 계정으로 로그인 해서 API를 발급받아야 한다. Python Sample Python requests를 이용한 REST API 응답으로, 요청한 주소에 대응되는 좌표 값을 받아올 수 있다. def getLatLng(addr): url = ‘https://dapi.kakao.com/v2/local/search/address.json?query=’+addr headers […]
[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) […]
[ElasticSearch] ElasticSearch-Hadoop Connector
ElasticSearch-Hadoop ElasticSearch-Hadoop Connector를 이용하여 ElasticSearch의 실시간 검색 및 분석 기능과 Hadoop의 강력한 데이터 저장 및 처리 기능을 동시에 활용. 기본적으로 ElasticSearch는 Join SQL이 수행되지 않는데 ElasticSearch-Hadoop Connector를 이용하면 DF 를 생성해서 multi index 에 대한 Join SQL을 수행할 수 있을 것 같다. 테스트 해본 데이터 사이즈가 커서 그런지 쿼리 응답을 받지는 못함.. 설치 wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elasticsearch-hadoop-6.4.2.zip […]
[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’, […]