3P by GN⁺ | ★ favorite | 댓글 1개
  • MarkdownDown은 임의의 웹페이지를 깔끔한 Markdown 문서로 바꾸는 도구임
  • 변환 결과에서 이미지 다운로드를 지원해 로컬에 저장한 이미지를 Markdown에 연결할 수 있음
  • 비콘텐츠 요소 제거 옵션으로 본문과 무관한 요소를 줄일 수 있음
  • Markdown 결과물에 GPT Filter를 적용하는 선택지도 제공함
  • 웹페이지 내용을 Markdown으로 보관하거나 이미지까지 함께 정리하려는 사용자에게 유용함

웹페이지를 Markdown으로 정리

  • MarkdownDown은 웹페이지를 깔끔한 Markdown으로 변환함
  • 변환 과정에서 이미지를 다운로드하고, 로컬 이미지 링크를 결과물에 포함할 수 있음

변환 옵션

  • 본문 중심 정리

    • Remove non-content elements 옵션으로 콘텐츠가 아닌 요소를 제거함
  • 이미지 처리

    • Download images locally and link them 옵션으로 이미지를 로컬에 저장하고 링크함
  • GPT Filter 적용

    • Apply GPT Filter on Markdown 옵션으로 Markdown 결과물에 GPT Filter를 적용할 수 있음

댓글과 토론

Hacker News 의견들
  • 웹사이트를 Markdown으로 바꾸는 데는 서로 다른 세 가지 문제가 있음: 페이지 콘텐츠를 빠짐없이 긁어오는 것, 광고와 부가 콘텐츠를 제거하는 것, 올바른 레이아웃과 섹션 형식을 얻는 것
    콘텐츠 정밀 추출과 형식화에는 Trafilatura, Newspaper4k, python-readability 기반 해법이 기본 상태에서 가장 잘 동작하고, 빠짐없는 수집에는 스크래핑 서비스와 Selenium 조합이 잘 맞음
    이 도구가 무엇을 다르게 하거나 더 잘하는지 궁금함. 이 분야가 한동안 정체되어 있었으니 배운 점을 듣고 싶음
    • 특히 JavaScript 런타임이 없거나 쓰고 싶지 않은 환경에서는 철저한 스크래핑이 어렵다
      콘텐츠 추출에서는 Postlight 라이브러리 방식이 꽤 깔끔했음. HTML 노드마다 텍스트 길이, 링크 밀도, CSS 클래스 같은 휴리스틱으로 점수를 매기고 가장 높은 점수의 노드를 선택함. 개인용 나중에 읽기 앱을 만들면서 Swift로 포팅해 봤음
      https://github.com/postlight/parser
    • 내 기사 웹 스크래퍼는 현재 Playwright와 광고 차단기로 이동한 뒤, 페이지에 Mozilla의 readability를 돌리고, 그 결과를 LLM이 검사함
      검사에 실패하면 전체 페이지 HTML 문맥을 잘라내고, Pandoc으로 Markdown 변환한 뒤, LLM이 Markdown에서 본문을 추출하는 흐름임
  • Vercel이라니, 이제 트래픽이 몰리면 청구서를 조심해야 함. Vercel이 계속 쓰라고 부추기는 방식대로 쓰고 있지 않길 바람
    • 문서 전반에서 쓰라고 유도하는 게 좀 씁쓸함. 그냥 WebP 하나로도 충분할 때가 있는데 말임
      버스 밈 그대로, 행복한 쪽은 사용자와 Vercel이고 슬픈 쪽은 지갑임
      물론 동적 스케일링과 축소가 필요하다면 예외
    • 실제로는 꽤 잘 버텼고 비용도 무시할 만한 수준이었음
      HN 트래픽을 처리하려고 따로 한 일은 없고, 그냥 기본 Next.js 앱이었음
  • 이미지 다운로드와 GPT 기반 필터링을 제공하는 건 좋은 아이디어임
    작년에 비슷한 도구를 만들었지만 그런 기능은 없음: https://url2text.com/
    UI가 느릴 수 있지만 홈페이지에서 예시 출력을 볼 수 있음
    기반 API는 Urlbox의 웹사이트 스크린샷 API인데, 직접 쓰면 훨씬 성능이 좋음. JavaScript 렌더링 HTML, 메타데이터, 스크린샷과 함께 Markdown을 한 번에 요청할 수 있음: https://urlbox.com/extracting-text
    결과를 S3 호환 스토리지에 바로 저장할 수도 있음: https://urlbox.com/s3
    웹훅으로 전달받을 수도 있음: https://urlbox.com/webhooks
    사이드 프로젝트에서 Urlbox의 Markdown 기능으로 월 100만 회 넘게 렌더링하고 있는데, 이런 Markdown은 임베딩과 프롬프트에 쓰기 훨씬 좋음
    전체 웹사이트를 이런 식으로 스크래핑하려면 dctanner의 새 도구도 볼 만함: https://usescraper.com/
    • https://usescraper.com 창업자임. 이제 단일 URL 스크래핑 옵션도 있음: https://docs.usescraper.com/api-reference/scraper/scrape
      페이지당 $0.001이고 헤드리스 Chrome 브라우저를 사용함. 결과가 빠르고 사용한 만큼만 지불하면 됨
    • 괜찮아 보이지만 url2text에는 API가 없어 보이고, urlbox는 텍스트만 원할 때 스크린샷을 건너뛰는 옵션이 없어 보임
      텍스트만 필요하다면 꽤 비싸 보임
  • 웹사이트가 쿠키 메시지를 띄우면 이 도구는 거기서 막히고 실제 콘텐츠를 파싱하지 못하는 것 같음
    예를 들어 https://www.cnbc.com/를 넣어 보니 쿠키 메시지와 그 주변의 법적 문구만 Markdown으로 생성됐음
    • 그런 걸 우회하는 건 쉽지 않지만, 이런 식으로는 동작할 수 있음: https://url2text.com/u/wYVake
      여러 종류의 페이지 렌더링에서 생기는 많은 엣지 케이스를 이미 처리하는 성숙한 API 위에 만들 수 있어서 운이 좋았음
  • htmltidy와 Pandoc의 HTML→Markdown 변환만으로도 충분히 쓸 만했음
    http://www.html-tidy.org/
    https://pandoc.org/
    • tidy는 처음 들어봤는데 유망해 보임
      최종 템플릿 HTML 전체를 이걸로 돌려서 남아 있는 잘못된 구조를 찾아볼까 끌리면서도 겁남. 수정 결과가 얼마나 구조적인지에 따라 테스트 스위트로 만들 수도 있을 듯함
  • 나도 매우 비슷한 smort.io를 만들었음. 어떤 기사 URL 앞에 smort.io/를 붙이면 쉽게 편집하고 주석 달고 공유할 수 있음
    ArXiv 논문에서도 동작함
    Smort의 Show HN 글은 여기: https://news.ycombinator.com/item?id=30673502
  • 복잡한 마케팅 페이지에 써봤는데 아주 잘 처리했음
    공유 가능하다면, 호스트에 어느 정도 부하가 걸리는지 궁금함. 무료로 계속 운영할 수 있는 수준인지, 아니면 결국 비용 효율이 나빠질지 알고 싶음
    • 헤드리스 Chrome 인스턴스를 띄우기 때문에 약간 무거움. 이 부분은 최적화를 살펴볼 예정임
      그 외에는 GPT-4가 비싸지만 지금까지는 비용이 무시할 만한 수준이라 기대하고 있음. 오래 유지할 수 있을 것 같음
  • AI가 필요 없는 경우 중 하나임. 페이지에서 콘텐츠를 추출하는 아주 잘 동작하는 알고리즘이 있고, 구현 중 하나는 https://github.com/buriy/python-readability
    • 몇 년 전 보일러플레이트 제거 도구들을 비교했을 때 jusText가 기본 상태에서 가장 좋은 결과를 줬던 것으로 기억함
      readability와 몇몇 다른 라이브러리도 써봤음. 요즘 최신 수준은 어떤지 궁금함
    • 여기서는 AI가 선택 사항임. Markdown으로 바꾸기 전에 HTML을 정리하는 데 readability를 사용하고 있음
    • 마지막으로 readability를 써봤을 때 기사에는 잘 동작했지만 다른 종류의 페이지에서는 고전했음
      원하는 것보다 훨씬 많은 콘텐츠를 제거해 버렸음
    • 여기서 그 도구만으로 AI 없이 같은 일을 어떻게 달성할 수 있는지 궁금함
    • 솔직히 대부분 흑마법일 거라 예상했는데, 프로젝트의 핵심은 힘들게 쌓았을 게 분명한 정규식 묶음처럼 보임. 멋짐
  • 늘 놀라운 Pandoc(https://pandoc.org/)이 이런 일을 매우 잘함. 사실상 거의 모든 다른 문서 형식도 지원함
    • 동의함. Pandoc은 존재하는 도구 중 손꼽히게 유용한데도 거의 언급되지 않는 도구임
      놀랍고, 쓰기 쉽고, 잘 동작함. 이 분야의 새 도구가 자주 나오지만, Pandoc 말고 다른 걸 쓰게 만들려면 정말 독특하고 설득력 있는 기능이 있거나 특정 사용 사례에 고도로 최적화되어 있어야 할 것 같음
  • 멋짐. 내가 읽는 모든 페이지에 이걸 적용해서 어딘가에 저장해 주는 브라우저 확장이 있으면 좋겠음