Name | addressrec JSON |
Version |
0.0.14
JSON |
| download |
home_page | |
Summary | 字符串智能解析,解析省市区、姓名、电话 |
upload_time | 2023-12-19 03:33:13 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.0 |
license | |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 地址解析识别python版本
> 👉[JavaScript版本](https://github.com/wzc570738205/smartParsePro)
项目基于[JioNLP 地址解析](https://github.com/dongrixinyu/JioNLP/wiki/Gadget-%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3#user-content-%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90)来进行地址识别
地址库:[2020年国家统计局行政区划](http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020)
基于[结巴分词](https://github.com/fxsjy/jieba) 提供的分词以及语义化分析进行姓名识别
基于[Levenshtein](https://github.com/Levenshtein) 字符串相似度算法来进行详细地址过滤
# 依赖下载
python支持版本:`>=3.8`
```bash
pip3 install addressrec
```
# 使用
直接运行
```bash
import addressrec
print(addressrec.run('王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号', True, False))
# addressrec(text, town_village, town_village)
# "text":"王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号",
# "town_village": True, //可不传默认True 指定参数town_village(bool),可获取乡镇、村、社区两级详细地名
# "change2new": False //可不传默认True 指定参数change2new(bool)可自动将旧地址转换为新地址
```
返回结果:
```json
{
"city": "乌鲁木齐市",
"county": "沙依巴克区",
"detail": "西虹东路463号",
"name": "王志超",
"phone": "029-68216000",
"province": "新疆维吾尔自治区",
"town": "",
"village": ""
}
```
封装为接口调用:
```python
# pip3 install flask
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/smart_address', methods=['POST'])
def handle_smart_address():
data = request.get_json()
text = data.get('text', '')
town_village = data.get('town_village', True)
change2new = data.get('change2new', False)
result = smart_address(text, town_village, change2new)
if result:
return jsonify(result)
else:
return jsonify({"error": "Failed to process the request"}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3000)
#URL: `http://127.0.0.1:3000/smart_address`
#METHOD: 'POST'
#BODY:
#{
# "text":"王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号",
# "town_village": true, //可不传默认true 指定参数town_village(bool),可获取乡镇、村、社区两级详细地名
# "change2new": false //可不传默认false 指定参数change2new(bool)可自动将旧地址转换为新地址
#}
```
# 识别结果测试
```bash
广东省珠海市香洲区盘山路28号幸福茶庄,陈景勇,13593464918 识别结果:
{'city': '珠海市',
'county': '香洲区',
'detail': '盘山路28号幸福茶庄,,',
'name': '陈景勇',
'phone': '13593464918',
'province': '广东省',
'town': '',
'village': ''}
-----------------
马云,陕西省西安市雁塔区丈八沟街道高新四路高新大都荟 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟',
'name': '马云',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
陕西省西安市雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
西安市雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
收货人: 李节霁手机号码: 15180231234所在地区: 浙江省金华市婺城区西关街道详细地址: 金磐路上坞街 识别结果:
{'city': '金华市',
'county': '婺城区',
'detail': '详细地址: 金磐路上坞街',
'name': '李节',
'phone': ' 15180231234',
'province': '浙江省',
'town': '西关街道',
'village': ''}
-----------------
收货人: 马云手机号码: 150-3569-6956详细地址: 河北省石家庄市新华区中华北大街68号鹿城商务中心6号楼1413室 识别结果:
{'city': '石家庄市',
'county': '新华区',
'detail': '中华北大街68号鹿城商务中心6号楼1413室',
'name': '马云',
'phone': ' 150-3569-6956',
'phone1': '150-3569-6956',
'province': '河北省',
'town': '',
'village': ''}
-----------------
```
#### LICENSE:[Apache License](https://github.com/wzc570738205/smartParsePro/blob/master/LICENSE)
#### IDE:致谢[JetBrains](https://www.jetbrains.com/?from=smartParsePro)为本项目提供免费license支持
[](https://www.jetbrains.com/?from=smartParsePro)
#### 联系我,欢迎交流
<img src="https://user-images.githubusercontent.com/33707245/211184007-971089c8-bdea-4d99-80d9-78de2fd59e01.png" width="300px">
#### qq交流群

Raw data
{
"_id": null,
"home_page": "",
"name": "addressrec",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.0",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "zhichao wang <wzc570738205@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/20/ed/494c654e8e6b0d8a8618402cff1fdd80f170f0376cd9623ada0c78c858ce/addressrec-0.0.14.tar.gz",
"platform": null,
"description": "# \u5730\u5740\u89e3\u6790\u8bc6\u522bpython\u7248\u672c\n> \ud83d\udc49[JavaScript\u7248\u672c](https://github.com/wzc570738205/smartParsePro)\n\n\u9879\u76ee\u57fa\u4e8e[JioNLP \u5730\u5740\u89e3\u6790](https://github.com/dongrixinyu/JioNLP/wiki/Gadget-%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3#user-content-%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90)\u6765\u8fdb\u884c\u5730\u5740\u8bc6\u522b\n\n\u5730\u5740\u5e93\uff1a[2020\u5e74\u56fd\u5bb6\u7edf\u8ba1\u5c40\u884c\u653f\u533a\u5212](http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020)\n\n\u57fa\u4e8e[\u7ed3\u5df4\u5206\u8bcd](https://github.com/fxsjy/jieba) \u63d0\u4f9b\u7684\u5206\u8bcd\u4ee5\u53ca\u8bed\u4e49\u5316\u5206\u6790\u8fdb\u884c\u59d3\u540d\u8bc6\u522b\n\n\u57fa\u4e8e[Levenshtein](https://github.com/Levenshtein) \u5b57\u7b26\u4e32\u76f8\u4f3c\u5ea6\u7b97\u6cd5\u6765\u8fdb\u884c\u8be6\u7ec6\u5730\u5740\u8fc7\u6ee4\n\n# \u4f9d\u8d56\u4e0b\u8f7d\npython\u652f\u6301\u7248\u672c\uff1a`>=3.8`\n\n```bash\npip3 install addressrec\n```\n# \u4f7f\u7528\n\u76f4\u63a5\u8fd0\u884c\n```bash\nimport addressrec\nprint(addressrec.run('\u738b\u5fd7\u8d85029-68216000\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a\u4e4c\u9c81\u6728\u9f50\u5e02\u6c99\u4f9d\u5df4\u514b\u533a\u897f\u8679\u4e1c\u8def463\u53f7', True, False))\n\n# addressrec(text, town_village, town_village)\n# \"text\":\"\u738b\u5fd7\u8d85029-68216000\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a\u4e4c\u9c81\u6728\u9f50\u5e02\u6c99\u4f9d\u5df4\u514b\u533a\u897f\u8679\u4e1c\u8def463\u53f7\",\n# \"town_village\": True, //\u53ef\u4e0d\u4f20\u9ed8\u8ba4True \u6307\u5b9a\u53c2\u6570town_village(bool)\uff0c\u53ef\u83b7\u53d6\u4e61\u9547\u3001\u6751\u3001\u793e\u533a\u4e24\u7ea7\u8be6\u7ec6\u5730\u540d \n# \"change2new\": False //\u53ef\u4e0d\u4f20\u9ed8\u8ba4True \u6307\u5b9a\u53c2\u6570change2new(bool)\u53ef\u81ea\u52a8\u5c06\u65e7\u5730\u5740\u8f6c\u6362\u4e3a\u65b0\u5730\u5740\n```\n\n\u8fd4\u56de\u7ed3\u679c\uff1a\n```json\n{\n \"city\": \"\u4e4c\u9c81\u6728\u9f50\u5e02\",\n \"county\": \"\u6c99\u4f9d\u5df4\u514b\u533a\",\n \"detail\": \"\u897f\u8679\u4e1c\u8def463\u53f7\",\n \"name\": \"\u738b\u5fd7\u8d85\",\n \"phone\": \"029-68216000\",\n \"province\": \"\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a\",\n \"town\": \"\",\n \"village\": \"\"\n}\n```\n\u5c01\u88c5\u4e3a\u63a5\u53e3\u8c03\u7528\uff1a\n```python\n# pip3 install flask\nfrom flask import Flask, request, jsonify\n\napp = Flask(__name__)\n@app.route('/smart_address', methods=['POST'])\ndef handle_smart_address():\n data = request.get_json()\n\n text = data.get('text', '')\n town_village = data.get('town_village', True)\n change2new = data.get('change2new', False)\n result = smart_address(text, town_village, change2new)\n\n if result:\n return jsonify(result)\n else:\n return jsonify({\"error\": \"Failed to process the request\"}), 500\n\nif __name__ == '__main__':\n app.run(host='0.0.0.0', port=3000)\n\n#URL: `http://127.0.0.1:3000/smart_address`\n#METHOD: 'POST'\n#BODY:\n#{\n# \"text\":\"\u738b\u5fd7\u8d85029-68216000\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a\u4e4c\u9c81\u6728\u9f50\u5e02\u6c99\u4f9d\u5df4\u514b\u533a\u897f\u8679\u4e1c\u8def463\u53f7\",\n# \"town_village\": true, //\u53ef\u4e0d\u4f20\u9ed8\u8ba4true \u6307\u5b9a\u53c2\u6570town_village(bool)\uff0c\u53ef\u83b7\u53d6\u4e61\u9547\u3001\u6751\u3001\u793e\u533a\u4e24\u7ea7\u8be6\u7ec6\u5730\u540d \n# \"change2new\": false //\u53ef\u4e0d\u4f20\u9ed8\u8ba4false \u6307\u5b9a\u53c2\u6570change2new(bool)\u53ef\u81ea\u52a8\u5c06\u65e7\u5730\u5740\u8f6c\u6362\u4e3a\u65b0\u5730\u5740\n#}\n```\n# \u8bc6\u522b\u7ed3\u679c\u6d4b\u8bd5\n```bash\n\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02\u9999\u6d32\u533a\u76d8\u5c71\u8def28\u53f7\u5e78\u798f\u8336\u5e84,\u9648\u666f\u52c7\uff0c13593464918 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u73e0\u6d77\u5e02',\n 'county': '\u9999\u6d32\u533a',\n 'detail': '\u76d8\u5c71\u8def28\u53f7\u5e78\u798f\u8336\u5e84,\uff0c',\n 'name': '\u9648\u666f\u52c7',\n 'phone': '13593464918',\n 'province': '\u5e7f\u4e1c\u7701',\n 'town': '',\n 'village': ''}\n-----------------\n\u9a6c\u4e91\uff0c\u9655\u897f\u7701\u897f\u5b89\u5e02\u96c1\u5854\u533a\u4e08\u516b\u6c9f\u8857\u9053\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f 13593464918 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u897f\u5b89\u5e02',\n 'county': '\u96c1\u5854\u533a',\n 'detail': '\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f',\n 'name': '\u9a6c\u4e91',\n 'phone': ' 13593464918',\n 'province': '\u9655\u897f\u7701',\n 'town': '\u4e08\u516b\u6c9f\u8857\u9053',\n 'village': ''}\n-----------------\n\u9655\u897f\u7701\u897f\u5b89\u5e02\u96c1\u5854\u533a\u4e08\u516b\u6c9f\u8857\u9053\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061 \u5218\u56fd\u826f 13593464918 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u897f\u5b89\u5e02',\n 'county': '\u96c1\u5854\u533a',\n 'detail': '\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061',\n 'name': '\u5218\u56fd\u826f',\n 'phone': ' 13593464918',\n 'province': '\u9655\u897f\u7701',\n 'town': '\u4e08\u516b\u6c9f\u8857\u9053',\n 'village': ''}\n-----------------\n\u897f\u5b89\u5e02\u96c1\u5854\u533a\u4e08\u516b\u6c9f\u8857\u9053\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061 \u5218\u56fd\u826f 13593464918 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u897f\u5b89\u5e02',\n 'county': '\u96c1\u5854\u533a',\n 'detail': '\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061',\n 'name': '\u5218\u56fd\u826f',\n 'phone': ' 13593464918',\n 'province': '\u9655\u897f\u7701',\n 'town': '\u4e08\u516b\u6c9f\u8857\u9053',\n 'village': ''}\n-----------------\n\u96c1\u5854\u533a\u4e08\u516b\u6c9f\u8857\u9053\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061 \u5218\u56fd\u826f 13593464918 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u897f\u5b89\u5e02',\n 'county': '\u96c1\u5854\u533a',\n 'detail': '\u9ad8\u65b0\u56db\u8def\u9ad8\u65b0\u5927\u90fd\u835f710061',\n 'name': '\u5218\u56fd\u826f',\n 'phone': ' 13593464918',\n 'province': '\u9655\u897f\u7701',\n 'town': '\u4e08\u516b\u6c9f\u8857\u9053',\n 'village': ''}\n-----------------\n\u6536\u8d27\u4eba: \u674e\u8282\u9701\u624b\u673a\u53f7\u7801: 15180231234\u6240\u5728\u5730\u533a: \u6d59\u6c5f\u7701\u91d1\u534e\u5e02\u5a7a\u57ce\u533a\u897f\u5173\u8857\u9053\u8be6\u7ec6\u5730\u5740: \u91d1\u78d0\u8def\u4e0a\u575e\u8857 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u91d1\u534e\u5e02',\n 'county': '\u5a7a\u57ce\u533a',\n 'detail': '\u8be6\u7ec6\u5730\u5740: \u91d1\u78d0\u8def\u4e0a\u575e\u8857',\n 'name': '\u674e\u8282',\n 'phone': ' 15180231234',\n 'province': '\u6d59\u6c5f\u7701',\n 'town': '\u897f\u5173\u8857\u9053',\n 'village': ''}\n-----------------\n\u6536\u8d27\u4eba: \u9a6c\u4e91\u624b\u673a\u53f7\u7801: 150-3569-6956\u8be6\u7ec6\u5730\u5740: \u6cb3\u5317\u7701\u77f3\u5bb6\u5e84\u5e02\u65b0\u534e\u533a\u4e2d\u534e\u5317\u5927\u885768\u53f7\u9e7f\u57ce\u5546\u52a1\u4e2d\u5fc36\u53f7\u697c1413\u5ba4 \u8bc6\u522b\u7ed3\u679c\uff1a\n{'city': '\u77f3\u5bb6\u5e84\u5e02',\n 'county': '\u65b0\u534e\u533a',\n 'detail': '\u4e2d\u534e\u5317\u5927\u885768\u53f7\u9e7f\u57ce\u5546\u52a1\u4e2d\u5fc36\u53f7\u697c1413\u5ba4',\n 'name': '\u9a6c\u4e91',\n 'phone': ' 150-3569-6956',\n 'phone1': '150-3569-6956',\n 'province': '\u6cb3\u5317\u7701',\n 'town': '',\n 'village': ''}\n-----------------\n```\n#### LICENSE\uff1a[Apache License](https://github.com/wzc570738205/smartParsePro/blob/master/LICENSE)\n#### IDE:\u81f4\u8c22[JetBrains](https://www.jetbrains.com/?from=smartParsePro)\u4e3a\u672c\u9879\u76ee\u63d0\u4f9b\u514d\u8d39license\u652f\u6301\n[](https://www.jetbrains.com/?from=smartParsePro)\n#### \u8054\u7cfb\u6211\uff0c\u6b22\u8fce\u4ea4\u6d41\n<img src=\"https://user-images.githubusercontent.com/33707245/211184007-971089c8-bdea-4d99-80d9-78de2fd59e01.png\" width=\"300px\">\n\n#### qq\u4ea4\u6d41\u7fa4\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "\u5b57\u7b26\u4e32\u667a\u80fd\u89e3\u6790\uff0c\u89e3\u6790\u7701\u5e02\u533a\u3001\u59d3\u540d\u3001\u7535\u8bdd",
"version": "0.0.14",
"project_urls": {
"Source": "https://github.com/wzc570738205/smartParsePro-py"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7d772a55961b4051e29410db707c87610d98b64caf74f67e21ce2b89e59ccaa4",
"md5": "b1f01d2da87cf1a74399b05511a3dea5",
"sha256": "58aec4ae06bc82c98f4cabef51aa921092ccd9e10aebb0e065c46d9789f88a85"
},
"downloads": -1,
"filename": "addressrec-0.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b1f01d2da87cf1a74399b05511a3dea5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.0",
"size": 9122,
"upload_time": "2023-12-19T03:33:11",
"upload_time_iso_8601": "2023-12-19T03:33:11.213349Z",
"url": "https://files.pythonhosted.org/packages/7d/77/2a55961b4051e29410db707c87610d98b64caf74f67e21ce2b89e59ccaa4/addressrec-0.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "20ed494c654e8e6b0d8a8618402cff1fdd80f170f0376cd9623ada0c78c858ce",
"md5": "bb6db737f94ebcb6771e73865067836c",
"sha256": "51f44b6c72884f29ef50e002fe82187c5b2d89e37295f463603316c3a94140d8"
},
"downloads": -1,
"filename": "addressrec-0.0.14.tar.gz",
"has_sig": false,
"md5_digest": "bb6db737f94ebcb6771e73865067836c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.0",
"size": 8845,
"upload_time": "2023-12-19T03:33:13",
"upload_time_iso_8601": "2023-12-19T03:33:13.032593Z",
"url": "https://files.pythonhosted.org/packages/20/ed/494c654e8e6b0d8a8618402cff1fdd80f170f0376cd9623ada0c78c858ce/addressrec-0.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-19 03:33:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wzc570738205",
"github_project": "smartParsePro-py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "addressrec"
}