// the find
hect0x7/JMComic-Crawler-Python
Python API for JMComic | 提供Python API访问禁漫天堂,同时支持网页端和移动端 | 禁漫天堂GitHub Actions下载器🚀
A Python library and CLI for downloading from JMComic (18comic), a Chinese adult comic site. It wraps both the web and mobile app APIs, handles the image unscrambling algorithm, and ships a GitHub Actions workflow so you can download without running anything locally.
The image decoding algorithm is correctly reverse-engineered from the mobile app (v1.6.3 encryption), which is the hard part of this kind of scraper. Sync/async parity is a real design decision, not an afterthought — both code paths are tested separately. The plugin system is genuinely useful: PDF export, zip, auto-cookie-from-browser, and update subscriptions are all built-in without bloating the core. The YAML option file approach means you can configure domain rotation, concurrency, and output format without touching code.
The fork count (11k) wildly outpaces stars (6.5k), which usually means people are forking for GitHub Actions use rather than contributing — don't expect a healthy upstream community. The project is a personal scraper for a single site; if JMComic changes its API or Cloudflare config again, the library breaks and you're waiting on one maintainer. No typing stubs or py.typed marker, so IDE support is weak. Tests require a live network connection to the actual site, meaning CI is fragile and you can't run the test suite offline or against a fixture.