需求: 需要爬取到浙江省各个县区的边界的geo数据,用于后续前端绘制地图使用。
解决方案: 1、找到浙江省各个县区的边界数据,这里从阿里云数据(阿里云地图数据可视化)中获取;2、编写爬虫脚本获取数据;3、存入数据库
具体实现:
import pymssql
import random
import time
# 地图数据链接
"""
https://geo.datav.aliyun.com/areas_v3/bound/330000.json
"""
import json
import requests
def get_zhejiang_code(shi_all_json):
code_list = []
for shi_dict in shi_all_json["features"]:
code = shi_dict["properties"].get("adcode")
code_list.append(code)
return code_list
def get_datas(version, code_list):
"""爬取并解析数据"""
insert_data_list = []
for i in range(len(code_list)):
url = "https://geo.datav.aliyun.com/{version}/bound/{code}.json".format(version=version, code=code_list[i])
try:
response = requests.get(url=url)
feature = response.json().get("features")[0]
code = feature["properties"].get("adcode")
name = feature["properties"].get("name")
data = {
"code": code,
"name": name,
"feature": feature,
"version": version
}
insert_data_list.append