Service2025.06.01
GitHub - philschmid/clipper.js: HTML to Markdown converter and crawler.
요약
Clipper는 웹 페이지 콘텐츠를 Markdown으로 변환하는 Node.js 기반의 커맨드라인 도구로, 개인 아카이브 및 노트 테이킹을 위한 웹 클리퍼 기능을 터미널에서 제공합니다.
이 도구는 Mozilla Readability와 Turndown을 활용하여 HTML을 파싱하며,
clip 명령으로 URL이나 파일에서 내용을 추출하고 crawl 명령으로 웹사이트를 탐색하여 콘텐츠를 수집할 수 있습니다.사용자들은 지정된 URL 또는 로컬 HTML 파일에서 Markdown 또는 JSON 형식으로 콘텐츠를 저장하거나, 웹사이트 전체를 크롤링하여 데이터를 자동화된 방식으로 수집하는 데 활용할 수 있습니다.
상세 내용
Clipper는 웹 페이지의 콘텐츠를 쉽게 클립하고 Markdown으로 변환할 수 있는 Node.js 기반의 명령줄 도구(command line tool)입니다. 이 도구는 웹 페이지 콘텐츠를 구문 분석(parse)하고 Markdown으로 변환하기 위해 내부적으로 Mozilla의 Readability 라이브러리와 Turndown 라이브러리를 사용합니다. Clipper는 웹에서 콘텐츠를 개인 아카이브 또는 노트 필기 목적으로 빠르게 저장하는 간단한 방법을 제공하며, Evernote Web Clipper나 Notion Web Clipper와 같은 브라우저 확장 기능과 유사하지만, 터미널에서만 실행되므로 확장 기능 설치나 계정 가입이 필요하지 않습니다. Mozilla Readability: 이 라이브러리는 웹 페이지에서 기사(article)의 핵심 내용을 추출하는 데 사용됩니다. 웹 페이지의 주 콘텐츠를 식별하고, 광고, 내비게이션 바, 푸터(footer) 등 불필요한 보일러플레이트(boilerplate)를 제거하여 깔끔한 HTML을 얻는 역할을 합니다. 이는 브라우저의 "읽기 모드"와 유사하게 가장 관련성이 높은 텍스트와 이미지를 분리하는 데 필수적입니다.
Turndown: Readability에 의해 정리된 HTML 콘텐츠를 표준 Markdown 형식으로 변환하는 라이브러리입니다. 이를 통해 웹 페이지의 시각적 레이아웃이 아닌 구조화된 텍스트 기반의 노트를 생성할 수 있습니다.
Playwright: 웹 크롤링(crawling) 기능을 위해 사용되는 브라우저 자동화 라이브러리입니다.
Crawlee: Playwright와 함께 웹사이트 크롤링 작업을 수행하는 데 사용되는 강력한 웹 스크래핑 및 크롤링 라이브러리입니다. Crawlee는 요청 스케줄링, 오류 처리, 재시도 로직, 데이터 저장 등 대규모 크롤링 작업을 위한 복잡한 워크플로우를 관리합니다.
핵심 방법론 및 기술적 설명:
crawl 명령 사용 시 Clipper는 Playwright를 통해 헤드리스 브라우저(headless browser)를 실행하여 JavaScript 기반의 동적 콘텐츠가 많은 웹 사이트를 탐색하고 렌더링한 후 HTML을 스크랩합니다. 이는 단순히 HTTP 요청을 보내는 것보다 훨씬 견고한 크롤링을 가능하게 합니다.주요 기능 및 사용법:
* clip 명령:
* 에서 콘텐츠 클립:
* 로컬 HTML 파일에서 콘텐츠 클립:
* 디렉토리 내의 모든 HTML 파일을 클립하여 JSONL 파일로 변환:
* 옵션: -i (입력 파일/디렉토리), -u (URL), -f (출력 형식: markdown 또는 json), -o (출력 파일)
* crawl 명령:
* 경고: 웹사이트 크롤링은 자원 집약적이며 웹사이트 소유자에게 문제를 일으킬 수 있으므로 주의해서 사용해야 합니다.
* 특정 URL을 크롤링하고 모든 페이지를 클립:
* 옵션: -u (크롤링할 URL), -g (URL 매칭을 위한 Glob 패턴), -o (크롤링된 콘텐츠의 출력 파일, 기본값: dataset.jsonl)
대체 사용 사례:
* PDF를 Markdown으로 변환: poppler 유틸리티의 pdftohtml 명령을 사용하여 PDF를 HTML로 변환한 다음, Clipper를 사용하여 해당 HTML을 Markdown으로 변환할 수 있습니다. 예: pdftohtml -c -s -noframes test.pdf test.html 후 clipper clip -i test.html
Clipper는 Apache-2.0 라이선스 하에 배포됩니다.
GitHub
Shared by Anonymous