본문 바로가기
반응형

Python57

셀레니움 없이도 충분해! 2025년 크롤링 스택 가이드(Playwright, httpx, Scrapy 등 완전 정리) “Selenium(셀레니움) + chromedriver.exe 없이도 크롤링, 잘 됩니다.”목적(정적/동적/규모)에 맞춰 Playwright, httpx + 파서(selectolax/BS4), **Scrapy(+scrapy-playwright)**를 조합하면 더 빠르고, 더 안정적이고, 운영도 쉬워집니다.TL;DR정적 페이지(내부 JSON 포함): httpx + selectolax (또는 BeautifulSoup, lxml) → 가장 빠르고 가벼움JS 렌더링 필요: Playwright (셀레니움 대체 1순위, 드라이버 관리 X, autowait O)대규모/파이프라인: Scrapy + (JS 필요한 페이지만) scrapy-playwright레거시/멀티언어 테스트 자산: Selenium 4(=Selenium.. 2025. 8. 28.
Swan - 타입 안전성과 속도를 겸비한 비동기 Python 웹 프레임워크 Swan은 최근 등장한 타입 중심(Type-driven)의 비동기 Python 웹 프레임워크로, FastAPI와 유사한 API 구조를 갖지만, pydantic v2와 async 최적화, 보다 간결한 라우팅과 성능 개선에 집중하고 있습니다.📌 Swan이란?Swan은 비동기 API 개발을 위한 경량 프레임워크로, async def를 기본 지원하며 pydantic v2 모델로 입력 검증 및 타입 안전성을 제공합니다. FastAPI보다 가볍고 빠른 실행을 목표로 하며, 단순한 라우터, 최소 의존성, 타입 중심 설계가 특징입니다.🧪 예시 프로젝트: 간단한 To-Do API📁 프로젝트 구조 swan_todo_api/├── main.py # Swan 앱 정의└── test_main.py .. 2025. 8. 20.
Unstructured - 다양한 문서 형식에서 텍스트 추출하는 Python 도구 Unstructured는 PDF, Word, HTML, 이미지 등 다양한 형식의 문서에서 텍스트를 구조화된 형태로 추출해주는 최신 Python 라이브러리입니다. LLM(RAG) 시스템이나 문서 요약, 검색 파이프라인을 구축할 때 매우 유용합니다.📌 Unstructured란?Unstructured는 표, 리스트, 텍스트 블록 등 문서 내 레이아웃을 인식하고 각 요소를 파싱해 Document Element 객체로 반환합니다. 이를 통해 단순 텍스트가 아닌 구조적 문서 추출이 가능해져 문서 검색 및 분석 품질이 향상됩니다.🧪 예시 프로젝트: PDF에서 텍스트 요소 추출하기📁 프로젝트 구조 pdf_parser/├── parse_pdf.py # PDF 처리 로직└── test_pars.. 2025. 8. 20.
Rye - 최신 Python 패키지 관리 툴 Rye는 최근 등장한 Python 생태계를 위한 차세대 패키지 및 프로젝트 관리 도구입니다.pip, venv, pyenv, poetry, pipx 등의 기능을 하나의 명령어 세트로 통합하여 Python 개발을 더 간결하고 통일성 있게 만들어줍니다.📌 Rye란?Rye는 Rust로 구현된 CLI 도구로, Python 버전 관리부터 의존성 설치, 가상환경 생성, 프로젝트 초기화까지 모두 지원합니다. pyproject.toml 기반이며, 특히 복잡한 패키지 구조와 개발 환경에서 일관성 있는 워크플로우를 제공합니다.🧪 예시 프로젝트: Rye로 간단한 CLI 앱 만들기📁 프로젝트 구조 (rye init hello_cli) hello_cli/├── src/hello_cli/__init__.py├── src/he.. 2025. 8. 19.
Modal - 서버리스 Python 함수 실행 플랫폼 Modal은 Python 기반의 함수 실행을 서버 없이 클라우드에서 자동으로 처리해주는 최신 클라우드 컴퓨팅 플랫폼입니다.Docker 설정이나 인프라 관리 없이 Python 함수를 자동 배포/확장/실행할 수 있어, 데이터 파이프라인, AI 모델 실행, 자동화에 매우 적합합니다.📌 Modal이란?Modal은 @stub.function을 붙인 함수 하나로 클라우드에 서버리스로 배포할 수 있게 해주는 프레임워크입니다. 로컬에서 작성한 Python 코드를 클라우드 환경에 맞춰 자동 실행하고, 필요한 패키지와 리소스까지 정의할 수 있습니다. FastAPI, Streamlit, Jupyter도 클라우드에서 실행 가능합니다.🧪 예시 프로젝트: 서버리스로 "Hello, World" 출력 함수 배포📁 프로젝트 구조.. 2025. 8. 19.
Pydra - 현대적인 Python 워크플로우 엔진 Pydra는 과학 계산, 데이터 파이프라인, 태스크 병렬 처리에 최적화된 Python 워크플로우 엔진입니다. 복잡한 작업 흐름을 함수 단위로 분리하고, 자동 병렬 실행, 캐싱, 의존성 추적 등을 통해 효율적인 작업 분배를 도와줍니다.📌 Pydra란?Pydra는 함수 기반의 태스크 정의를 중심으로, DAG(Directed Acyclic Graph)를 생성하여 실행합니다. 캐시 기능과 재사용 가능한 태스크, 입력 자동 추적 기능을 갖추고 있어 연산이 많은 데이터 파이프라인에 특히 유리합니다. 주로 의학 영상 처리와 과학 컴퓨팅에 사용되지만, 일반적 자동화에도 활용 가능성이 높습니다.🧪 예시 프로젝트: 두 수를 더하고 제곱하는 파이프라인📁 프로젝트 구조 math_pipeline/├── tasks.py .. 2025. 8. 18.
반응형