{"adoption": {"forks": 635, "observed_at": "2026-08-28T04:07:31.099953+00:00", "stars": 2942}, "canonical_url": "https://ross.abutalabs.com/products/striver-ing-wechat-spider", "card": {"archived": false, "artifact_type": "application", "description": "开源微信爬虫：爬取公众号所有 文章、阅读量、点赞量和评论内容。易部署。持续维护！！！", "domain": ["crawlers", "social-media"], "enriched": true, "function": ["web-scraping", "proxy", "monitoring"], "health_score": 71, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["striver-ing/wechat-spider"], "name": "striver-ing/wechat-spider", "platform": ["windows", "cross-platform", "python"], "pushed_at": "2026-05-29T03:10:45+00:00", "repo": "striver-ing/wechat-spider", "stars": 2942, "tags": ["wechat", "weixin", "official-accounts", "mitmproxy", "scraper", "chinese-social-media", "article-scraping", "engagement-metrics", "data-collection", "data-engineering", "automation", "macos"], "topics": ["wechat"], "urls": [], "use_cases": ["scrape all articles from a WeChat official account", "monitor WeChat public accounts for new articles daily", "collect article read counts, likes, and comment counts", "harvest WeChat article comments for analysis", "convert temporary WeChat article links to permanent links", "build a dataset of WeChat公众号 content and engagement metrics", "run distributed WeChat data collection with multiple accounts"], "what_it_is": "An open-source WeChat crawler that scrapes articles, reading counts, likes, and comments from WeChat official accounts using a man-in-the-middle proxy approach (mitmproxy). It stores collected data in MySQL with Redis for task caching and supports distributed collection across multiple WeChat clients on all platforms.", "when_to_avoid": ["you need a fully legal or ToS-compliant data source - the MITM approach risks account bans", "you only need a small one-off scrape without setting up MySQL, Redis, and proxy certificates", "you need high real-time performance - the MITM approach has limited timeliness", "you require an official API or guaranteed long-term stability"], "when_to_choose": ["you need to bulk-collect WeChat official account articles and engagement data", "you want a self-hosted scraper with MySQL/Redis storage that is easy to integrate", "you need scheduled daily monitoring of a list of WeChat accounts", "you want cross-platform support (Android, iPhone, Mac, Windows WeChat clients)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/striver-ing-wechat-spider", "repo": "striver-ing/wechat-spider", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "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:07:31.099953+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:31.099953+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:32:56.100967+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2487f94fb50722377069ed7a50f83e6543e4690aad20e4283274e297ce4e2e43", "fetched_at": "2026-08-28T04:07:31.099953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/striver-ing/wechat-spider"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "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": 3205, "days_push": 96, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}