A GitHub Repo Indexes 24,000 Chinese E-Books Across 1,000 Categories
The repository demonstrates how automated scraping and Markdown-based cataloging can turn fragmented, paywalled content into a single searchable index. For developers outside China, it's a practical reference for building large-scale content aggregators with minimal infrastructure — scripts plus flat files plus GitHub Pages — and a reminder that many paid platforms expose enough metadata to make programmatic collection feasible.
A GitHub repository called ebook-treasure-chest indexes more than 24,000 Chinese e-books sourced from mainstream paid platforms like WeChat Reading, JD Reading, and Himalaya. The collection spans 1,000 categories — from literature and quantum physics to WWII history and coffee culture — and offers every title in three formats: EPUB for general e-readers, MOBI for older Kindles, and AZW3 for newer Kindle devices with better typography.
Automated scripts handle the data collection and classification, while the catalog itself lives in Markdown files organized by category. A GitHub Pages frontend provides real-time search across the entire library, supporting multi-keyword queries. The project's scale — equivalent to reading one book daily for over six years — comes from programmatic scraping rather than manual entry.
Copyright status remains a gray area, and the repository's longevity is uncertain. The collection's value lies in its curation: books are drawn from legitimate paid platforms, not random file-sharing sites, giving the catalog a baseline of quality that raw web scrapes lack.
The project's architecture — scripts for ingestion, Markdown for storage, GitHub Pages for search — is a low-cost pattern applicable to any large, text-heavy dataset that needs public access without a backend.
Pulling metadata from paid platforms rather than hosting the files directly sidesteps some legal risk while still delivering the core value: discoverability and format choice.
The 1,000-category taxonomy isn't just window dressing; it signals that the scraping pipeline includes a classification step, which is the hard part of turning a raw dump into a usable library.