Programmings

서울시 부동산 실거래가 정보 API 크롤링 1 - 인증키 발급편

회원가입

Untitled

  • 모두 동의합니다를 선택한다.

Untitled

Untitled

  • 본인인증 절차를 거친다.

Untitled

Untitled

  • 회원정보를 입력한다.

Untitled

  • 부가서비스 신청은 옵션이기 때문에 여기서 별도로 다루지는 않겠다.

Untitled

  • 회원가입이 완료가 되었다.

Untitled

서울 열린데이터 광장 로그인

  • 이제 데이터 수집을 위해, 해당 사이트에 로그인을 진행한다.

Untitled

  • 찾고 싶은 데이터를 입력해주세요 부동산을 입력하고 검색을 진행한다.

Untitled

  • 여기에서 서울시 부동산 실거래가 정보 탭을 클릭한다.

Untitled

  • 하단에 인증키 신청을 클릭한다.

Untitled

  • 작성이 끝나면 바로 API 발급이 부여가 된다.

Untitled

OpenCV 개발환경 윈도우 버전

개요

  • Windows에서 Opencv 개발환경을 구축한다.
  • 아나콘다를 설치하지 않고 구축한다.

사전 준비

  • 파이썬 설치는 이미 진행된 것으로 가정한다.
  • 또한 가상환경을 이미 설치한 것으로 가정한다.

주요 설치 명령어

  • opencv-pythonOpenCV의 메인 모듈을 포함하고, opencv-contrib-python은 메인 모듈과 Extras 모듈을 포함한다.
    • 설치 시, NumPy는 자동으로 설치 된다.
  • matplotlib 라이브러리는 파이썬 기본 시각화 라이브러리이다.
  • pafy 라이브러리는 Youtube의 메타 데이터를 수집/검색하거나 다운로드 할 수 있도록 도와줌
  • youtube_dl 라이브러리는 터미널에서 사용 가능한 라이브러리이다.
  • pygame은 파이썬에서 제공하는 게임 라이브러리이다.
pip install opencv-contrib-python
pip install matplotlib
pip install pafy youtube_dl pygame
  • 그런데, python 3.11.* 버전에서는 pygame이 설치가 안될 수 있다. 이럴 경우 downgrade를 통해 설치를 진행한다.
pip install pygame --pre

테스트

  • 먼저 opencv 라이브러리가 잘 작동하는지 테스트 한다.

이미지 출력

  • 먼저 opencv 라이브러리를 활용하여 아래 코드를 실행한다.
import cv2
imgFile = 'RGB_paint.png'
img = cv2.imread(imgFile)

cv2.imshow('image', img)
cv2.waitKey()
cv2.destroyAllWindows()

Untitled

GROUP BY 1의 의미와 사용법 예제

개요

  • GROUP BY 1의 구체적인 의미에 대해 파악을 한다.

데이터 개요

SELECT * FROM legislators_terms;

Untitled

쿼리 예제

  • 다음 쿼리는 리텐션을 구하는 쿼리를 작성하기 위해 작성했다.
  • 먼저, 각 의원이 첫 임기를 시작한 날짜를 first_term으로 정의한다.
SELECT 
	id_bioguide
	, MIN(term_start) AS first_term
FROM legislators_terms
GROUP BY 1;

Untitled

  • GROUP BY 1 대신에 GROUP BY id_bioguide로 변경하여 코드를 작성해본다.
  • 당연한 말이지만, 결과는 동일하다.
SELECT 
	id_bioguide
	, MIN(term_start) AS first_term
FROM legislators_terms
GROUP BY id_bioguide;

Untitled

Streamlit 라이브러리를 활용한 배포 - BigQuery 사용

개요

  • Streamlit 라이브러리와 BigQuery를 사용하여 배포를 진행한다.
  • GCP 클라우드 프로젝트 설정 과정은 생략한다.

BigQuery API 사용설정

  • Project API에서 ENABLE APIS AND SERVICES 버튼을 클릭한다.

Untitled

  • 빅쿼리 API를 탐색한다.
    • 키워드명 : BigQuery API

Untitled

Untitled

  • manage 버튼을 클릭한다.

Untitled

  • 인증키를 다운로드 받도록 한다. (CREATE CREDENTIALS클릭)

Untitled

  • 아래와 같이 지정 후, 스크롤을 내려서 NEXT 버튼을 클릭한다.

Untitled

  • 임의의 Service account ID 작성 후, CREATE AND CONTINUE 버튼을 클릭한다.

Untitled

  • 프로젝트 권한을 부여 후, CONTINUE 버튼을 클릭한다.

Untitled

Streamlit 라이브러리를 활용한 배포 예제

사전준비

  • 배포를 하기 위해서는 필수로 진행해야 할 사전준비가 필요하다.
  • Git & Github 설치 과정은 생략한다.

Step 01 - Streamlit 회원가입

Untitled

Untitled

  • Set up your account를 작성한다. 작성이 끝나면 다음과 같은 화면이 나오면 정상적으로 등록이 된 것이다.

Untitled

Step 02 - Github 레포 설정

  • Gitub 레포를 설정한다.
  • 이 때, 주의해야 할 것은 Public으로 설정을 해야한다.
    • .gitignore 파일도 Setting 하는 것이 좋다.

Untitled

Google Analytics 4 설치 - Hugo 깃허브

개요

  • Google Analytics 4 설치 과정을 정리하였다.

사전준비

  • 본 글에서는 Google Analytics 4 관련 설명은 생략한다.
  • 어느정도 관련 도구를 이해한다는 전제 조건에서 글을 정리한다.

단계별 설치 과정

  • 단계별로 설치 과정을 알아보자.

(1) GA4 추적 ID 가져오기

  • Google Analytics 4 에서 추적 코드를 받는다.
  • 추적 코드는 Admin - Data Streams에서 확인이 가능하다.

  • Add stream 에서 Hugo Website 주소를 입력한 후 설정을 하면 된다.

  • 그럼 MEASUREMENT ID 확인이 가능하다.

    • G-XXXXXXX 시작하는 ID만 있으면 충분하다.
  • 그 외 나머지 GA4 설정은 관련 자료를 참고해서 설정한다.

윈도우 배치 파일 - 파이썬 가상환경 적용

개요

  • Python 가상환경을 만든 후, 자동으로 배치 파일이 돌아가도록 하는 코드를 작성하도록 한다.

Step 01 - 라이브러리 설치

  • 가상환경을 만든 후, pandas 라이브러리를 설치하도록 한다.
$ virtualenv venv
$ ./venv/Scripts/activate 
  • 만약 에러가 아래와 에러가 생길 경우,
$ .\venv\Scripts\activate
.\venv\Scripts\activate : 이 시스템에서 스크립트를 실
행할 수 없으므로 C:\Users\h\Desktop\python_batch\venv\
Scripts\activate.ps1 파일을 로드할 수 없습니다. 자세한
 내용은 about_Execution_Policies(https://go.microsoft.
com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSec
uri    tyException
    + FullyQualifiedErrorId : UnauthorizedAccess
  • PowerShell을 관리자 권한으로 실행 후 아래 코드를 입력한다. (Y 입력)
PS C:\WINDOWS\system32> Set-ExecutionPolicy Unrestricted

실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "N"): Y

Step 02 - app.py 작성

  • app.py는 아래와 같이 작성한다.
    • iris.csv 파일은 검색하면 금방 나오기 때문에, 아무거나 다운로드 받는다.
import pandas as pd 

def main():
    print(pd.__version__)
    df = pd.read_csv("data/iris.csv")
    print(df)

if __name__ == "__main__":
    main()

Step 03 - myproject.cmd 파일 작성

  • 아래와 같이 batchFile.bat 파일을 작성한다.
call C:\Users\h\Desktop\python_batch\venv\Scripts\activate
@cd C:\Users\h\Desktop\python_batch
python app.py
pause

Step 04 - 환경변수 설정

  • 경로는 프로젝트에서 venv 까지 지정하면 된다.
  • 이 부분은 각자 프로젝트가 다르기 때문에 본인 프로젝트 경로를 지정해야 한다.
    • C:\Users\h\Desktop\python_batch\venv

Untitled

Heroku를 활용한 카카오챗봇 배포 - DB조회편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Heroku를 활용한 카카오챗봇 배포 - 응용편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Heroku를 활용한 카카오챗봇 배포 - 인사말편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보