Repolode
howie6879

howie6879/ruia

asyncio와 aiohttp 기반의 비동기 Python 웹 스크래핑 마이크로 프레임워크로, URL 크롤링을 최대한 간편하게 만드는 것을 목표로 합니다.

스타
1,739
포크
185
열린 이슈
9
마지막 커밋
8일 전

어떤 프로젝트인가요?

Ruia는 asyncio와 aiohttp를 기반으로 작성된 Python 3.6+용 웹 스크래핑 마이크로 프레임워크입니다. 스파이더를 선언형으로 정의할 수 있습니다. 추출할 데이터 항목과 파싱 규칙을 지정하면 프레임워크가 이벤트 루프에서 동시 요청을 처리합니다.

이 프레임워크는 확장성을 중심으로 설계되었습니다. 미들웨어를 사용하면 요청 및 응답 처리 파이프라인에 개입할 수 있고, 플러그인으로 동작을 확장할 수 있습니다. Linux와 macOS에서는 더 빠른 이벤트 루프를 위해 설치 과정에 uvloop를 포함할 수 있으며, 프로젝트는 JavaScript 지원도 기능으로 소개합니다.

README에서는 디버깅 중 응답을 캐싱해 대상 사이트에 대한 요청 부하를 줄이는 별도 프로젝트 ruia-cache와 스크립트를 대화형으로 디버깅하는 ruia-shell을 안내합니다. 분산 크롤링은 아직 구현되지 않은 기능으로 기재되어 있습니다.

핵심 기능

  • 01선언형 스파이더 및 데이터 항목 정의
  • 02동시 요청을 위한 asyncio 및 aiohttp 기반 구조
  • 03확장을 위한 미들웨어 및 플러그인 시스템
  • 04Linux와 macOS에서 선택적으로 uvloop 지원
  • 05JavaScript 지원

활용 사례

  • URL 목록에 있는 여러 페이지를 동시에 스크래핑
  • Python으로 소규모 비동기 데이터 수집 스크립트 작성
  • 커스텀 미들웨어나 플러그인으로 크롤러 확장

빠른 시작

  1. 1

    Linux 또는 Mac에 설치(uvloop 사용)

    pip install -U ruia[uvloop]
  2. 2

    Windows에 설치

    pip install -U ruia
  3. 3

    튜토리얼을 읽고 첫 spider 작성하기

사용 전 알아둘 점

  • Ruia는 아직 개발 중이므로 API가 변경될 수 있습니다.
  • 분산 크롤링/스크래핑은 TODO로 등록되어 있으며 아직 사용할 수 없습니다.

포함된 컬렉션

토픽

#web-scraping#crawler#asyncio#python#aiohttp#spider#async#asyncio-spider#crawling-framework#middlewares

자주 묻는 질문

ruia은(는) 무엇인가요?
asyncio와 aiohttp 기반의 비동기 Python 웹 스크래핑 마이크로 프레임워크로, URL 크롤링을 최대한 간편하게 만드는 것을 목표로 합니다. Ruia는 asyncio와 aiohttp를 기반으로 작성된 Python 3.6+용 웹 스크래핑 마이크로 프레임워크입니다. 스파이더를 선언형으로 정의할 수 있습니다. 추출할 데이터 항목과 파싱 규칙을 지정하면 프레임워크가 이벤트 루프에서 동시 요청을 처리합니다.
ruia은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ruia은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ruia은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ruia의 마지막 커밋은 2026년 10월 30일입니다.
ruia은(는) 어디에 사용할 수 있나요?
URL 목록에 있는 여러 페이지를 동시에 스크래핑 Python으로 소규모 비동기 데이터 수집 스크립트 작성 커스텀 미들웨어나 플러그인으로 크롤러 확장
ruia는 어떻게 설치하나요?
Linux 또는 Mac에 설치(uvloop 사용): pip install -U ruia[uvloop] Windows에 설치: pip install -U ruia 튜토리얼을 읽고 첫 spider 작성하기
ruia은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/howie6879/ruia

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트