연관 키워드 경쟁 강도 분석 및 웹 앱 만들기
streamlit 패키지를 사용해서 지금까지 분석한 연관 키워드 경쟁 강도 분석 데이터를 웹 앱으로 만들어 봅시다.
비주얼 스튜디오 코드에서 새로운 파일을 만들고, 파일명을 'step_3_1.py'로 저장하세요. 다음 코드를 입력한 후, 비주얼 스튜디오 코드에서 터미넣을 열고, 'streamlit run ch_08/step_3_1.py' 명령어로 웹 서버를 실행합니다.
ch_08/step_3_1.py
import pandas as pd
import streamlit as st
from step_2_1 import rel_kwd_to_csv # 이전에 작성한 모듈을 불러옵니다.
from step_2_2 import data_cleaning
from step_2_3 import shop_cnt_to_csv
from step_2_4 import OUT_2_4, comp_lev_to_csv
def init_page():
st.set_page_config(layout="wide") # 웹 페이지 레이아웃을 넓게 설정 # 08
st.header("🧐 만들면서 배우는 연관키워드 경쟁강도 분석") # 웹 앱 제목 설정
if "keywords" not in st.session_state: # 11
st.session_state["keywords"] = "" # 'keywords' 세션 값 초기화 # 12
with st.form(key="my_form", border=False): # 폼 위젯 생성 # 13
col_1, col_2 = st.columns([3, 1]) # 3:1 비율로 두 개의 열 위젯 생성
with col_1 : # 첫 번째 열 # 15
st.text_input("키워드", key='keywords', label_visibility="collapsed")
with col_2: # 두 번째 열
st.form_submit_button(label="분석하기", use_container_width=True) # 18
def analyze_keywords (keywords: str = None, event: int = None): # 20
rel_kwd_to_csv(keywords=keywords, event=event) # 연관키워드 수집
data_cleaning() # 데이터 정제
shop_cnt_to_csv() # 키워드별 상품 개수 수집
comp_lev_to_csv() # 키워드별 경쟁강도 수집
def print_dataframe(keywords: str = None):
if keywords:
with st.spinner("잠시만 기다려주세요..."): # 스피너 위잿 생성
analyze_keywords(st.session_state["keywords"]) # 연관 키워드 분석
df_result = pd.read_csv(OUT_2_4) # 분석 결과를 데이터프레임으로 변환 # 30
st.dataframe(df_result, use_container_width=True) # 데이터프레임 출력 # 31
if __name__ == "__main__":
init_page() # 웹 앱 기반 설정 및 텍스트 입력 위젯 출력
keywords = st.session_state["keywords"] # 연관 키워드 텍스트 입력 위젯 데이터
print_dataframe(keywords=keywords) # 데이터프레임 출력
08 페이지 설정 및 기본 위젯을 출력하는 함수 init_page()를 정의합니다.
11~12 'keywords'를 키로 하는 streamlit 세션이 없는 경우 해당 키에 대한 세션값을 초기화 합니다.
13 streamlit 패키지의 함수 form()를 사용하여 폼 위젯을 생성합니다. 폼 위젯은 폼 제풀 버튼을 클릭해야 이후 작업을 처리합니다.
16 함수 text_input()를 사용하여 텍스트 입력 위젯을 생성합니다. 매개변수 key에 streamlit 세션 관리에 사용할 키 값을 전달합니다.
18 함수 form_submit()를 사용하여 폼 제출 버튼 위젯을 생성합니다.
20 매개변수 keywords에 주어진 키워드를 바탕으로 연관키워드 분석을 처리하는 함수 analyze_keywords()를 정의합니다. 매개변수 keywords는 분석할 키워드를, event는 분석할 시준 테마 코드값을 저장합니다.
30~31 분석 결과를 데이터프레임으로 변환하고, steamlit 패키지의 함수 dataframe()를 사용하여 데이터프레임 화면에 출력합니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
| 기준금리 데이터 불러오기 (0) | 2026.04.07 |
|---|---|
| 연관 키워드 분석 앱 만들기 - 데이터프레임 시각화하기 (0) | 2026.04.04 |
| 연관 키워드 경쟁 강도 분석하기 - 키워드별 경쟁 강도 분석하기 (1) | 2026.03.29 |
| 연관 키워드 경쟁 강도 분석하기 - 데이터 정제하기 (0) | 2026.03.26 |
| 연관 키워드 경쟁 강도 분석하기 - 연관 키워드 수집하기 (1) | 2026.03.23 |