adbar/trafilatura

Python & Command-line tool to gather text and metadata on the Web: Crawling, scraping, extraction, output as CSV, JSON, HTML, MD, TXT, XML

What it solves

Trafilatura는 웹상의 잡음이 많은 HTML에서 깨끗하고 구조화된 텍스트를 추출하는 문제를 해결하도록 설계되었습니다. 헤더, 푸터, 반복되는 네비게이션 요소와 같은 "노이즈"를 제거하여 실제 페이지의 주요 콘텐츠와 메타데이터에 집중할 수 있게 합니다.

How it works

Python 패키지이자 명령줄 도구로 동작하며 웹 크롤링, 다운로드, 스크래핑을 결합합니다. jusText와 readability와 같은 일반적인 패턴과 범용 알고리즘을 혼합해 주요 텍스트, 저자·날짜와 같은 메타데이터, 댓글이나 표와 같은 선택 요소를 식별·추출합니다. 실시간 URL과 사전에 다운로드된 HTML 파일 모두를 처리할 수 있으며, 사이트맵·RSS 피드 등 다양한 발견 방식을 지원합니다.

Who it’s for

웹에서 고품질 텍스트 데이터를 수집해 NLP 작업에 활용하려는 연구자, 개발자, 데이터 과학자를 위한 도구이며, HuggingFace와 Microsoft Research와 같이 대규모 텍스트 코퍼스를 구축하는 조직에도 적합합니다.

Highlights

  • Comprehensive Pipeline: 발견(사이트맵, 피드), 다운로드, 추출을 하나의 도구에 통합.
  • Flexible Output: TXT, Markdown, JSON, CSV, XML-TEI 등 다양한 포맷을 지원.
  • High Performance: 텍스트 추출 벤치마크에서 다른 오픈소스 라이브러리를 지속적으로 능가.
  • Modular Design: 데이터베이스가 필요 없어 가볍고 기존 워크플로에 쉽게 통합 가능.