반응형

Python 376

파이썬 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

FastAPI에서 sqlalchemy 활용 SQL DB CRUD 구현 예제

안녕하세요. 아래 링크의 지난 글에서는 NoSQL인 MongoDB를 기준으로fastapi의 CRUD 메소드 구현 방법을 알아보았습니다. FastAPI에서 MongoDB 데이터 연동 CRUD 예제안녕하세요. 아래 링크의 지난 글에서는 fastapi의 CRUD 메소드 사용 방법을 알아보았습니다. FastAPI get, post, patch, delete 예제 코드 정리파이썬의 대표 백엔드 모듈인 FastAPI에서 get, post, patch, delete 메jimmy-ai.tistory.com 이어서 이번에는 관계형 데이터베이스(mysql, postgresql 등)를 기준으로fastapi에서 CRUD 메소드들을 구현하는 방법을마찬가지로 간략한 예제를 통해 정리해보도록 하겠습니다.  SQL 데이터베이스 불러..

Python/Backend 2024.05.23

FastAPI Depends 예제 및 장점 간단 정리

fastapi의 Depends를 통하여 의존성 주입을 하는 간단한 예제를 통해서사용하면 좋은 이유와 사용 방법을 간략하게 요약해보도록 하겠습니다.  FastAPI Depends 사용 예제 - 토큰 검사예를 들어 토큰을 통하여 요청을 진행하는 API가 있다고 가정해 보겠습니다.이를 위해 토큰 - 유저 매칭을 진행하는 함수를 다음과 같이 작성해 보았습니다.from fastapi import FastAPI, Depends, HTTPExceptionapp = FastAPI()# admin token이 abcde, 일반 유저 token이 12345라고 가정user_info = {"abcde" : "admin", "12345" : "user1"}def get_current_user(token: str): if..

Python/Backend 2024.05.17

FastAPI에서 MongoDB 데이터 연동 CRUD 예제

안녕하세요. 아래 링크의 지난 글에서는 fastapi의 CRUD 메소드 사용 방법을 알아보았습니다. FastAPI get, post, patch, delete 예제 코드 정리파이썬의 대표 백엔드 모듈인 FastAPI에서 get, post, patch, delete 메소드를 구현하는 방법을 간단한 예제를 통하여 정리해보도록 하겠습니다. get 메소드 예시 간단한 유저 데이터를 저장하는 상황을jimmy-ai.tistory.com 이어서 이번에는 실제 데이터베이스를 연동해서 fastapi를 활용하는 방법을 살펴볼 것인데요.key-value 형태로 데이터를 저장하는 경우 대표적으로 활용 가능한 NoSQL 데이터베이스인MongoDB를 연동하는 예제를 여기서 살펴보도록 하겠습니다.  MongoDB 생성 및 파이썬에..

Python/Backend 2024.05.06

파이썬에서 값 암호화 해싱 및 검증 방법(bcrypt 모듈)

유저의 비밀번호 등의 중요 정보를 데이터베이스에 저장하기 위해서는 반드시값 암호화 해싱을 해야하는데요. Python의 경우에 편하게 활용이 가능한bcrypt 모듈의 기능에 대하여 간단한 예제를 통해서 살펴보도록 하겠습니다. 해당 모듈 설치는 다음 명령어로 진행해주시면 됩니다.pip install bcrypt  유저의 비밀번호 해싱 방법유저의 비밀번호를 input으로 받아 해싱된 결과를 반환받는 함수는 다음과 같습니다.참고로 gensalt()로 실행 시 같은 값을 해싱하더라도매번 다른 값이 출력되도록 만들기에 보안 상 이점이 큽니다.import bcryptdef hash_password(user_pw: str) -> str: hashed_pw: bytes = bcrypt.hashpw(user_pw.e..

Python/Utils 2024.05.02

FastAPI get, post, patch, delete 예제 코드 정리

파이썬의 대표 백엔드 모듈인 FastAPI에서get, post, patch, delete 메소드를 구현하는 방법을간단한 예제를 통하여 정리해보도록 하겠습니다.  get 메소드 예시간단한 유저 데이터를 저장하는 상황을 가정해보고,먼저 전체 유저의 정보를 가져오는 코드를 작성해보도록 하겠습니다.from fastapi import FastAPI, HTTPExceptionfrom pydantic import BaseModelfrom typing import Listapp = FastAPI()# 데이터베이스 역할을 할 간단한 딕셔너리db = {}# 데이터 모델 정의class User(BaseModel): id: int username: str email: str# 전체 유저의 정보들을 리스트로 반..

Python/Backend 2024.04.24
반응형