{
  "source_file": "0930",
  "source_platform": "Medium",
  "author": "Python in Plain English",
  "title_listed": "Introduction to NumPy",
  "keywords": "NumPy,数组,Python",
  "domain": "数据处理",
  "content_type": "教程",
  "is_paid_flag": "否",
  "url": "https://python.plainenglish.io/",
  "publish_date": "2021-03",
  "corpus_stage": "数据处理",
  "notes": "NumPy入门（主页入口）",
  "id": "17c3ac26a9bd",
  "collected_at": "2026-10-01T20:54:39",
  "title": "Just a moment...",
  "body_markdown": "![Icon for python.plainenglish.io](https://python.plainenglish.io/favicon.ico)\n# python.plainenglish.io\n## Performing security verification\nThis website uses a security service to protect against malicious bots. This page is displayed while the website verifies you are not a bot.\n## Verification successful. Waiting for python.plainenglish.io to respond\nRay ID: `a44a660449bd2dbb`\nPerformance and Security by [Cloudflare](https://www.cloudflare.com?utm_source=challenge&utm_campaign=m)[Privacy](https://www.cloudflare.com/privacypolicy/)\n",
  "metadata": {
    "title": "Just a moment...",
    "description": null,
    "keywords": null,
    "author": null
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": false,
    "status_code": 307,
    "error": "",
    "retried": true
  },
  "code_blocks": [],
  "images": [
    {
      "status": "invalid_file_type",
      "url": "https://python.plainenglish.io/favicon.ico",
      "content_type": "image/x-icon",
      "src": "https://python.plainenglish.io/favicon.ico",
      "alt": "Icon for python.plainenglish.io",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T18:09:23Z"
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "type": "external",
      "href": "https://www.cloudflare.com"
    },
    {
      "type": "external",
      "href": "https://www.cloudflare.com/privacypolicy/"
    }
  ],
  "retry_at": "2026-10-03T07:57:52",
  "repair_version": 2,
  "repaired_at": "2026-10-20T17:33:59Z",
  "source_url": "https://python.plainenglish.io/",
  "delivery_status": "unverified",
  "discovery_status": "http_403",
  "missing_reason": "源页面未重新核验:http_403；已按保留正文补采图片",
  "repair_error": "",
  "actual_video_files": [],
  "expected_saved_body_images": 1,
  "image_discovery": "saved_markdown",
  "source_body_markdown": "![Icon for python.plainenglish.io](https://python.plainenglish.io/favicon.ico)\n# python.plainenglish.io\n## Performing security verification\nThis website uses a security service to protect against malicious bots. This page is displayed while the website verifies you are not a bot.\n## Verification successful. Waiting for python.plainenglish.io to respond\nRay ID: `a44a660449bd2dbb`\nPerformance and Security by [Cloudflare](https://www.cloudflare.com?utm_source=challenge&utm_campaign=m)[Privacy](https://www.cloudflare.com/privacypolicy/)\n",
  "body_base_path": "attachments/17c3ac26a9bd/pages/",
  "body_markdown_path": "attachments/17c3ac26a9bd/pages/archived-body.md",
  "local_html": "attachments/17c3ac26a9bd/pages/archived-body.html",
  "body_source": "prior_capture"
}