반응형

Python 411

파이썬 셀레니움 함수 비동기(async)로 실행 방법

Python의 Selenium을 이용하여 크롤링을 진행할 때,드라이버가 포함된 함수를 async로 실행해야 하는 경우가 있을 수 있습니다. 이 경우, 셀레니움의 함수를 비동기 함수처럼 사용이 가능하도록코드를 작성할 수 있는 방법이 있는데요.이번 글에서 해당 방법을 간략하게 정리해보도록 하겠습니다.  Sync 함수 예시먼저, 이해를 돕기 위하여 다음과 같이 간단한 driver를 호출하는 함수 get_driver과원하는 url에서 title 정보를 추출하는 get_title 함수가 있다고 가정해보도록 하겠습니다.from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom webdriver_manager.chrom..

Python/Crawling 2024.07.19

파이썬 redis 함수 정리 및 예제

Python에서 redis를 활용할 때 사용할 수 있는 대표적인 함수들을 정리해보고,간단한 예제를 통하여 사용 방법을 이해해보도록 하겠습니다.  참고: redis 데이터 저장 방식redis에서는 두 가지 방법을 통하여 데이터를 저장할 수 있습니다. I. key - value 방식딕셔너리에서 key - value를 저장하는 방식과 동일하며,"name" -> "jimmy" 와 같은 매칭 관계를 의미합니다.  II. hash - key - value 방식key - value 쌍을 hash 값을 기준으로 추가 매칭하는 관계를 의미합니다.예를 들면,"7월방문자" -> "name" -> "jimmy"처럼처음에 "7월방문자"라는 hash 정보가 위의 방식의 앞 부분에 추가로 포함됩니다.  이제 대표적인 함수들의 사용..

Python/Utils 2024.07.16

파이썬 unique id(고유 식별자) 생성 방법: uuid

Python에서 많은 갯수의 unique id 목록을 생성해야 하는 경우,전 세계에서 표준으로 많이 활용되는 uuid를 생성하는 방법을살펴보도록 하겠습니다.  uuid란?uuid는 총 32개의 16진수(0~9와 a~f) 문자를 포함하는 문자열로,겹치는 값이 나올 확률이 매우 희박하여 표준 고유 식별자로 많이 사용합니다. 양식은 하이픈('-') 4개가 중간에 들어가며,8글자-4글자-4글자-4글자-12글자의 양식이 많이 사용됩니다.예시) cea9a4a2-cb6d-4014-aaf0-81ca56345a91  파이썬에서 uuid 생성 방법Python에서는 별도의 설치가 필요 없는 표준 라이브러리인 uuid 모듈로쉽게 uuid를 생성해볼 수 있습니다. uuid1, uuid3, uuid4, uuid5 등 다양한 메소..

Python/Utils 2024.07.05

FastAPI CORS 설정 방법 코드 예제

파이썬의 fastapi 모듈로 백엔드 서버를 구현할 때,CORS 정책 설정을 진행하는 방법에 대한 코드 예제를간략하게 정리해보도록 하겠습니다.  모든 경우 허용 예시FastAPI에서 CORS 정책 설정은 CORSMiddleware를 import하여 다음과 같은 코드 스니펫을 통하여 진행할 수 있습니다.from fastapi import FastAPIfrom fastapi.middleware.cors import CORSMiddlewareapp = FastAPI()# CORS 설정 방법app.add_middleware( CORSMiddleware, allow_origins=["*"], # 허용할 도메인 목록 (모든 도메인 허용: ["*"]) allow_credentials=True, # 쿠..

Python/Backend 2024.06.30

파이썬 XML 데이터 파싱 예제

Python에서 xml 형식으로 된 파일의 데이터에서 원하는 정보를 추출하는 방법을예시를 통하여 간략하게 정리해보도록 하겠습니다.  기본 예제다음과 같은 XML 파일이 sample.xml 파일로 저장되어 있다고 가정해보도록 하겠습니다. data1 data2  이 파일에서 각 값들을 추출하는 파이썬 코드 예시는 다음과 같습니다.import xml.etree.ElementTree as ETtree = ET.parse('sample.xml')root = tree.getroot()print(f'Root element: {root.tag}')for child in root: print(f'Child element: {child.tag}') for su..

Python/Utils 2024.06.25

파이썬 Selenium으로 Network 패킷 크롤링 예제

Python의 셀레니움을 통해서 네트워크 통신 패킷 로그 정보를 가져오는 코드 예제를간략하게 정리해서 다루어보도록 하겠습니다.  네트워크 패킷이란?참고로, 네트워크 통신 패킷 로그는 F12로 개발자 도구를 연 뒤,Network 탭을 클릭하면 볼 수 있는 정보입니다.  셀레니움 코드 예시원하는 사이트의 네트워크 통신 기록을 가져오는 예시 코드는 다음과 같습니다.(이 코드를 실행하기 위하여 chromedriver 설치가 사전에 필요합니다.)from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.chrome.options import Optionsimport time# 필요한..

Python/Crawling 2024.06.21

[Pandas] 파이썬 데이터프레임 문자열 필터링 방법 정리(str.contains)

Python의 판다스 모듈에서 str.contains 기능을 통하여데이터프레임에서 문자열 기준 필터링을 진행하는 방법을간략하게 정리해보도록 하겠습니다. 이해를 돕기 위하여 다음과 같은 간단한 데이터프레임을 하나 가정해보도록 하겠습니다.import pandas as pddata = { 'name': ['AAA', 'BBB', 'CCC', 'DDD', 'EEE'], 'email': ['aaa@example.com', 'bbb@gmail.com', 'ccc@example.com', 'ddd@example.net', 'eee@gmail.com']}df = pd.DataFrame(data)df  str.contains 기본 예제판다스에서 문자열 필터링은 str.contains 메소드를 통하여 진행이 가..

Python/Pandas 2024.06.17

파이썬 데이터 유효성 검증 모듈 pydantic 사용법 정리

Python은 기본적으로 변수를 정의할 때, 데이터 타입 및 조건 검증 과정을 거치지 않는데요.따라서, 데이터를 정의하는 과정에서 타입 등 유효성 조건이 맞는지 확인하는 과정이 필요하다면별도의 검증 과정을 따로 구현해야 합니다. 이 과정에서 pydantic 모듈을 활용하면 검증 단계를 매우 쉽게 진행할 수 있는데요.이번 글에서는 해당 라이브러리의 사용 방법을 간략하게 예제로 정리해보도록 하겠습니다.  모듈 설치 방법pydantic 모듈은 !pip install pydantic 명령어로 쉽게 설치가 가능합니다.  BaseModel 정의데이터의 타입을 특정 종류로 지정하기 위해서는 BaseModel을 불러와클래스에 상속시켜주는 과정이 필요합니다. 코드의 예시는 다음과 같습니다.from pydantic imp..

Python/Utils 2024.06.05

FastAPI 비동기 세션 처리 AsyncSession 활용 예제(sqlalchemy)

지난 번의 글에서는 FastAPI로 sqlalchemy 활용 CRUD 예제 코드를 다룬 적이 있습니다. FastAPI에서 sqlalchemy 활용 SQL DB CRUD 구현 예제안녕하세요. 아래 링크의 지난 글에서는 NoSQL인 MongoDB를 기준으로fastapi의 CRUD 메소드 구현 방법을 알아보았습니다. FastAPI에서 MongoDB 데이터 연동 CRUD 예제안녕하세요. 아래 링크의 지난 글에서는jimmy-ai.tistory.com 이번 글에서는 해당 포스트의 코드를 비동기로 세션을 처리하는AsyncSession를 활용한 코드로 변경해보도록 하겠습니다.  모듈 설치AsyncSession 처리를 위하여 몇 가지 모듈 설치가 더 필요합니다.필요한 모듈들을 설치하는 예제 명령어는 다음과 같습니다. p..

Python/Backend 2024.06.01

FastAPI Query vs Body 예제 및 특징 비교

fastapi에서 유저에게 요청 파라미터를 받는 방식으로 Query와 Body를 많이 사용하는데요.이번 글에서는 이 두 가지 방식의 구현 방법과 차이에 대해서 간략하게 정리해보도록 하겠습니다.  Query parameters 사용 예제fastapi에서 Query를 이용하여 파라미터 요청을 받는 예시 코드는 다음과 같습니다.from fastapi import FastAPI, Queryapp = FastAPI()@app.get("/items")async def read_items(item_id: int = Query(...), q: str = Query(None)): return {"item_id": item_id, "q": q} 해당 예시에서는 item_id는 필수 파라미터, q는 선택 파라미터가 됩..

Python/Backend 2024.05.27
반응형