{"adoption": {"forks": 341, "observed_at": "2026-08-28T04:04:33.733196+00:00", "stars": 1379}, "canonical_url": "https://ross.abutalabs.com/products/kgspider-crawler", "card": {"archived": false, "artifact_type": "learning-resource", "description": "K 哥爬虫代码分享，JS 逆向，爬虫进阶。关注公众号：K哥爬虫", "domain": ["crawlers", "reverse-engineering", "tutorials", "security", "developer-tools"], "enriched": true, "function": ["web-scraping", "reverse-engineering", "cryptography", "http-client"], "health_score": 33, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["kgspider/crawler"], "name": "kgspider/crawler", "platform": ["cross-platform"], "pushed_at": "2025-05-12T07:49:46+00:00", "repo": "kgspider/crawler", "stars": 1379, "tags": ["js-reverse-engineering", "crawler-examples", "anti-scraping", "encryption-decryption", "tutorial-code", "educational", "chinese-content", "spider", "nodejs"], "topics": ["crawler", "jsreverse", "spider"], "urls": [], "use_cases": ["learn JavaScript reverse engineering for web scraping", "reverse engineer encrypted API parameters of a website", "scrape sites whose requests use encrypted sign or token values", "study common encryption and decryption algorithms used in crawlers", "understand how login interface parameters are generated", "find worked examples of JS reverse engineering with code"], "what_it_is": "A collection of example code accompanying the 'K哥爬虫' tutorial series on JavaScript reverse engineering for web scraping. Each subdirectory contains working scripts that reproduce encrypted request and login parameters from specific websites, paired with in-depth tutorial articles.", "when_to_avoid": ["production or commercial scraping - the author explicitly forbids commercial and illegal use", "looking for a maintained scraping framework or library rather than isolated example scripts", "scraping the demoed targets themselves, since the sites' terms may prohibit it"], "when_to_choose": ["learning JS reverse engineering through fully worked, real-website examples", "studying common crawler encryption schemes like those protecting translation or login endpoints", "following along with the author's tutorial articles and videos"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kgspider-crawler", "repo": "kgspider/crawler", "role": "main", "score": 42}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "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:04:33.733196+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.733196+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:19.480090+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff04b7394d31adca6aef51df602b8ecd199fc6eb2f032311a9f6cc9f3a98a9dc", "fetched_at": "2026-08-28T04:04:33.733196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kgspider/crawler"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 21, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1835, "days_push": 478, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 42, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}