OpenSource-Hub
R

reader

536 stars·개발 도구·SHA-256 체크섬 확인됨

피드와 아티클을 저장, 관리, 검색하기 위한 Python feed 리더 라이브러리이며, 선택적 Web 인터페이스와 명령줄 도구가 함께 제공됩니다.

스마트 다운로드

프로젝트 홈페이지 방문

아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요

Python 피드 리더 라이브러리, 스토리지, 검색 및 웹 관리 인터페이스 기본 제공

주요 기능

  • Atom, RSS 및 JSON 피드 지원
  • 읽음/중요 표시, 사용자 지정 태그 및 메타데이터 추가
  • 전체 텍스트 검색, 키워드 강조 표시 지원
  • OPML 가져오기/내보내기로 간편한 마이그레이션
  • 플러그인 시스템으로 기능 확장 가능

할 수 없는 것

  • •Reader는 라이브러리이며 독립 애플리케이션이 아닙니다. 제공되는 Flask 애플리케이션을 사용하거나 직접 인터페이스를 작성해야 합니다, 데이터베이스는 기본적으로 SQLite를 사용하며 대량의 데이터를 다룰 때는 성능에 주의하세요. 다른 백엔드로 전환할 수 있습니다(현재 네이티브 지원은 없음), 전문 검색을 사용하려면 먼저 update_search()를 호출하여 인덱스를 생성해야 합니다, 일부 상위 버전의 Python에서는 추가 의존성을 설치해야 할 수 있으니 프로젝트 문서를 확인하세요

사용 사례

  • 개인 맞춤형 RSS 리더 서비스 자체 구축
  • 기존 Python 애플리케이션에 임베드하여 구독 콘텐츠 관리
  • 뉴스/팟캐스트 피드 일괄 수집 및 분석

상세 설명

Reader는 피드와 기사의 저장, 관리 및 검색에 중점을 둔 Python feed 리더 라이브러리입니다. Atom, RSS, JSON 형식을 지원하며, 읽음/중요 표시, 태그 추가, 필터링, 전체 텍스트 검색, OPML 가져오기/내보내기를 할 수 있습니다. 안정적인 API, 완비된 테스트 및 타입 힌트를 제공합니다. 선택적으로 Flask 웹 애플리케이션과 명령줄 인터페이스를 제공합니다. 파싱만 수행하는 feedparser와 달리 Reader는 완전한 백엔드를 제공하며 어떤 프레임워크에도 종속되지 않습니다.

문제 해결 & FAQ (2)

문제 해결
reader 3.24 시작 마이그레이션 중 발생하는 sqlite3.OperationalError: 'user-defined function raised exception' 오류 해결 방법은?

스키마 v43에서 v44로의 마이그레이션을 수정하는 reader 3.25 이상으로 업그레이드하세요:

python -m pip install --upgrade 'reader>=3.25'

업그레이드하기 전에 앱을 중지하고 SQLite 데이터베이스를 백업하세요. 버전 3.25는 여러 괄호 그룹이 포함된 author 문자열, author가 누락된 source JSON 객체, 그리고 authors 추가 후 남은 불필요한 author 키 제거를 처리합니다.

3.24를 사용해야만 하는 경우, 백업을 만든 후 sqlite3 your-database.db로 다음 긴급 해결 방법을 적용하세요:

1. 3.24를 처음 시작하기 전에 두 개의 괄호 그룹이 포함된 author를 지우세요:
UPDATE entries SET author = NULL WHERE author LIKE '%(%)%(%)%';

2. author 키가 없는 레거시 source JSON에 null author 키를 추가하세요:
UPDATE entries SET source = json_set(source, '$.author', json('null')) WHERE source IS NOT NULL AND json_type(source) = 'object' AND json_type(source, '$.author') IS NULL;

3. reader 3.24를 시작하고 마이그레이션이 실행되도록 두세요.

4. 이후 엔드포인트가 TypeError: EntrySource.__init__() got an unexpected keyword argument 'author' 오류로 실패하면, 남아 있는 키를 제거하세요:
UPDATE entries SET source = json_remove(source, '$.author') WHERE source IS NOT NULL AND json_type(source, '$.author') IS NOT NULL;

데이터베이스를 수동으로 수정하는 것보다 3.25로 업그레이드하는 것이 더 좋습니다.

원본 Issue #405
문제 해결
아이템 ID가 변경되고 콘텐츠 기반 중복 제거가 실패할 때 피드 항목을 중복 제거하는 방법은?

.dedupe.once.title 플러그인 기능을 사용하기 전에 다음을 확인하세요: 1) 기존 항목에 중복 제목이 없는지, 2) 대부분의 새 항목이 기존 항목과 정확히 동일한 제목을 공유하는지 확인합니다. 그런 다음 .dedupe.once.title을 적용하여 제목 일치를 기준으로 중복을 제거하세요. 참고: 이 플러그인은 아직 이러한 확인을 자동화하지 않습니다. 수동 확인이 필요합니다.

원본 Issue #322

태그

feed-readerrssatompythonlibraryopmlfull-text-search

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

1단계: pip를 사용하여 reader 설치: pip install reader

4

2단계: Python에서 임포트하고 리더 생성: from reader import make_reader; reader = make_reader('feeds.db')

5

3단계: 피드 추가 및 업데이트: reader.add_feed('https://example.com/feed'); reader.update_feeds()

설치 가이드
  1. 1단계: pip를 사용하여 reader 설치: pip install reader
  2. 2단계: Python에서 임포트하고 리더 생성: from reader import make_reader; reader = make_reader('feeds.db')
  3. 3단계: 피드 추가 및 업데이트: reader.add_feed('https://example.com/feed'); reader.update_feeds()
파일 무결성

체크섬 없음

이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다

SHA256 체크섬

체크섬 없음

GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

pip uninstall reader를 직접 실행하면 제거되며, 데이터베이스 파일(예: feeds.db)은 수동으로 삭제해야 합니다.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스BSD-3-Clause
마지막 업데이트2026-10-15 08:52:22
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트