본문 바로가기

Python75

HTML 코드에서 데이터 추출하여 JSON 형식 변환 HTML 코드에서 데이터를 추출하여 JSON 형식으로 변환하는 작업을 수행합니다. 이를 간소화하려면 정규 표현식을 사용하는 대신 더 구조화된 방법을 사용하는 것이 좋습니다. 다음은 Python을 사용하여 같은 작업을 수행하는 방법입니다. Python은 정규 표현식 대신 BeautifulSoup과 같은 라이브러리를 사용하여 HTML 파싱을 더 쉽게 할 수 있습니다. from bs4 import BeautifulSoup import re import json html = """ 여기에 HTML 코드를 입력하세요 """ soup = BeautifulSoup(html, 'html.parser') data = [] for row in soup.find_all('tr'): # 'tr' 태그를 포함하는 모든 행을 찾.. 2023. 9. 23.
증권시장 종목에 대한 최신 주식정보 수집하여 시각화 먼저 코드를 실행하기 전에 필요한 라이브러리를 설치해야 합니다. pandas, plotly.express, requests, bs4 (Beautiful Soup) 라이브러리가 필요합니다. 만약 이러한 라이브러리가 설치되어 있지 않다면, 다음 명령어를 사용하여 설치할 수 있습니다. pip install pandas plotly requests beautifulsoup4 이제 다음과 같이 코드를 작성하고 실행할 수 있습니다. import pandas as pd import plotly.express as px import requests from bs4 import BeautifulSoup # 종목명과 코드를 저장할 데이터프레임 생성 code_df = pd.read_html('http://kind.krx.c.. 2023. 9. 18.
Nginx, Gunicorn(WSGI), Django 동작 원리 WSGI(Web Server Gateway Interface)와 관련하여, 웹 애플리케이션 서버의 동작 방식과 역할에 대한 설명을 요약 및 정리해보겠습니다. WSGI의 등장 배경 초기에는 웹 서버만 있었으며, 정적인 파일만 처리 가능했음. 동적인 요청에 대한 처리 필요성 증가. CGI(Common Gateway Interface) 등장: 파이썬 어플리케이션 서버의 동작 방식 정의. CGI는 요청마다 파이썬 스크립트를 처음부터 실행하여 처리하는 방식이어서 성능 이슈 발생. WSGI의 등장과 WSGI 서버(Gunicorn, uWSGI) WSGI(Web Server Gateway Interface) 등장: 웹 서버와 파이썬 어플리케이션 간의 통신 규약. WSGI 서버 필요: 클라이언트의 요청을 받아 WSGI .. 2023. 8. 23.
Docker Compose를 활용한 Django 환경 구축 Docker Compose를 활용하여 Django 프로젝트의 환경을 구축하는 과정을 설명합니다. 일반적으로 Django 프로젝트에 붙이는 Postgres, Nginx, Redis, RabbitMQ, Celery와 같은 서비스들을 Docker Compose를 사용하여 연결할 수 있습니다. Dockerization Dockerization은 기존의 Django 프로젝트를 Docker Compose를 사용하여 컨테이너화하는 과정을 의미합니다. 이를 통해 Django와 필요한 다른 서비스들을 컨테이너로 띄울 수 있습니다. 기존 프로젝트가 있는 경우 해당 프로젝트를 가져와 진행하거나, 새 프로젝트를 시작하는 경우 장고 서버가 정상적으로 실행되는 상태에서 작업을 진행할 수 있습니다. Docker Desktop 설치.. 2023. 8. 22.
Flask를 사용하여 REST API를 구축하는 예제 코드 Flask를 사용하여 REST API를 구축하는 예제 코드입니다. from flask import Flask, jsonify, request app = Flask(__name__) # 예시 데이터 tasks = [ { 'id': 1, 'title': 'Task 1', 'description': 'This is task 1', 'done': False }, { 'id': 2, 'title': 'Task 2', 'description': 'This is task 2', 'done': False } ] # 모든 작업 목록 반환 @app.route('/tasks', methods=['GET']) def get_tasks(): return jsonify({'tasks': tasks}) # 특정 작업 반환 @app.. 2023. 7. 1.
728x90