{"adoption": {"forks": 168, "observed_at": "2026-08-28T04:03:11.555488+00:00", "stars": 1006}, "canonical_url": "https://ross.abutalabs.com/products/fictiondown", "card": {"archived": false, "artifact_type": "cli-tool", "description": "小说下载|小说爬取|起点|笔趣阁|导出Markdown|导出txt|转换epub|广告过滤|自动校对", "domain": ["crawlers", "files", "developer-tools"], "enriched": true, "function": ["web-scraping", "cli", "parser", "markdown", "pdf"], "health_score": 22, "homepage": null, "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ma6254/FictionDown"], "name": "ma6254/FictionDown", "platform": ["cli", "cross-platform", "go"], "pushed_at": "2025-01-21T06:35:33+00:00", "repo": "ma6254/FictionDown", "stars": 1006, "tags": ["novel-downloader", "fiction-crawler", "epub-export", "txt-export", "ad-filtering", "multi-site-scraping", "resume-download", "command-line"], "topics": ["biquge", "qidian", "fiction", "novels", "spider", "crawler", "golang"], "urls": [], "use_cases": ["download web novels from qidian and biquge", "crawl fiction chapters to txt or epub", "convert web novels to markdown for pandoc", "scrape novels from multiple mirror sites with proofreading", "resume interrupted novel downloads", "filter ads out of scraped novel chapters"], "what_it_is": "FictionDown is a Go-based command-line tool for batch downloading and crawling web novels from sites like Qidian and Biquge. It supports multi-site crawling with automatic cross-checking, ad filtering, resumable downloads, and export to txt, epub, and Markdown formats.", "when_to_avoid": ["you need a GUI or non-Chinese novel sites", "you want a legally sanctioned source for copyrighted novels", "you need polished epub output for all readers"], "when_to_choose": ["you need batch downloads of Chinese web novels from supported sites", "you want resumable multi-threaded crawling with ad filtering", "you need epub/txt/markdown export with volume and author metadata"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fictiondown", "repo": "ma6254/FictionDown", "role": "main", "score": 24}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.555488+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:12:47.755127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04b995e83f808970d1aa492aed227e7a33b0ac7baeafb0017f75519c62510c7a", "fetched_at": "2026-08-28T04:03:11.555488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma6254/FictionDown"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 2, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2740, "days_push": 589, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 24, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}