{"id":15630969,"url":"https://github.com/wi1dcard/china-divisions","last_synced_at":"2025-04-05T07:06:51.983Z","repository":{"id":33088887,"uuid":"151451370","full_name":"wi1dcard/china-divisions","owner":"wi1dcard","description":"📍中国行政区划地址库 SDK + 爬虫 + 数据。","archived":false,"fork":false,"pushed_at":"2022-05-06T04:11:50.000Z","size":187,"stargazers_count":214,"open_issues_count":1,"forks_count":51,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T06:08:57.671Z","etag":null,"topics":["address-book","delivery","logistics"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wi1dcard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-03T17:18:38.000Z","updated_at":"2025-03-20T09:40:00.000Z","dependencies_parsed_at":"2022-08-08T12:30:20.147Z","dependency_job_id":null,"html_url":"https://github.com/wi1dcard/china-divisions","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wi1dcard%2Fchina-divisions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wi1dcard%2Fchina-divisions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wi1dcard%2Fchina-divisions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wi1dcard%2Fchina-divisions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wi1dcard","download_url":"https://codeload.github.com/wi1dcard/china-divisions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299832,"owners_count":20916190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["address-book","delivery","logistics"],"created_at":"2024-10-03T10:37:49.546Z","updated_at":"2025-04-05T07:06:51.966Z","avatar_url":"https://github.com/wi1dcard.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 中国行政区划地址库 SDK + 爬虫 + 数据\n\n📍 本项目主要分为三大部分，如标题所示；数据来源为 **淘宝** 菜鸟物流，相比其它同类项目更加 **真实准确**，且包含 **港澳台**。\n\n🤔 典型应用场景如：**选择省市区关联下级**、**输入文本地址转换为结构化地址**、**输入部分地址联想下级**等。\n\n[![Build Status](https://travis-ci.org/wi1dcard/china-divisions.svg?branch=master)](https://travis-ci.org/wi1dcard/china-divisions)\n[![Coverage Status](https://coveralls.io/repos/github/wi1dcard/china-divisions/badge.svg)](https://coveralls.io/github/wi1dcard/china-divisions)\n[![StyleCI](https://github.styleci.io/repos/151451370/shield?branch=master)](https://github.styleci.io/repos/151451370)\n[![Packagist](https://img.shields.io/packagist/v/wi1dcard/china-divisions.svg)](https://packagist.org/packages/wi1dcard/china-divisions)\n\n## [SDK](src/)\n\n使用方法十分简单，首先使用 Composer 安装。\n\n```bash\ncomposer require wi1dcard/china-divisions\n```\n\n方法概览如下：\n\n```php\nuse ChinaDivisions;\n\n$division = new Division(1); // 参数为 DivisionID；1 代表中国，即根结点。\n\n$division-\u003eself(); // 获取自身信息，返回键值数组\n$division-\u003echildren(); // 获取下一级子区划，返回 Division 对象数组\n$division-\u003eparent(); // 获取上一级父区划，返回 Division 对象\n$division-\u003eancestors(); // 获取所有上级父区划，返回 Division 对象数组\n$division-\u003ebreadcrumb(); // 根据父区划拼接可读地址，返回字符串\n$division-\u003eguess(); // 地址录入联想\n$division-\u003esearch(); // 地址规范查询\n```\n\n目前主要支持如下接口，基本满足多数地址应用。\n\n### [地址选择联动 | 上下级区划查询](https://cloud.cainiao.com/markets/cnwww/cncloud-dzk-detail-division)\n\n\u003e 四级地址录入选择服务，向用户提供标准结构化的全国地址数据，适用于前端地址选择控件等多种应用场景。\n\n### [地址录入联想 | 联想下级地址](https://cloud.cainiao.com/markets/cnwww/cncloud-dzk-detail-associationcncloud-dzk-detail-associate)\n\n\u003e 地址录入联想服务，通过配置业务组件，帮助用户输入规范的地址信息，从源头上解决因地址混乱造成的物流链路流转问题。该服务依托权威标准的四、五级地址库，提供给用户规范的地址，用户可根据自己的输入习惯，通过选择 POI 或拼音输入联想等方法，录入自己想要的标准地址信息。\n\n### [地址规范查询 | 文本地址规范化](https://cloud.cainiao.com/markets/cnwww/cncloud-dzk-detail-query)\n\n\u003e 五级地址查询服务基于权威五级地址库，可根据原始地址查询出标准五级地址，或对已有非标准地址进行清洗、结构化、纠错和补全。\n\n## [爬虫](scripts/)\n\n根据以上接口，可通过爬虫得到完整的区划数据。\n\n使用方法：\n\n```bash\ncomposer install\nphp scripts/crawler.php\n```\n\n随后检查 `script/output` 目录即可。\n\n亦可阅读 [爬虫源码](scripts/crawler.php)，自测两分钟左右即可生成一份区县级列表。\n\n## [数据](scripts/output)\n\n最终输出的数据如下，更新日期见 Git 提交历史。\n\n- [四级行政区划（精确到区县）完整版](scripts/output/level4-full.json)。\n- [四级行政区划（精确到区县）筛选版](scripts/output/level4-mini.json)，剔除已废弃的区划，并精简键名、规范键值类型。\n\n## Why This\n\nGitHub 上搜索关键词「地区」、「省市区」、「行政区划」等关键词有大量的仓库，但或多或少存在以下问题：\n\n- 数据陈旧，缺乏更新；\n- 数据格式不合适；\n- 缺少村级、街道级数据；\n- 基于国标，缺少港澳台数据；\n\n而基于本项目，你可以随时使用爬虫获得最新区划，甚至是使用 SDK 实现抓取并输出属于自己的五级地址库。\n\n其次，国内电商巨头阿里巴巴拥有大量物流、派送体系资源，同时线上业务也有对此的依赖需求；因此我认为其数据质量和更新速度或许不比国标文件差，甚至有可能优于后者，故本项目选用菜鸟物流 API 作为数据源。\n\n## 声明\n\n本仓库源代码基于 MIT 协议发布，数据版权属于阿里。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwi1dcard%2Fchina-divisions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwi1dcard%2Fchina-divisions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwi1dcard%2Fchina-divisions/lists"}