我想从pku_opendata下载地图 POI 数据。
首先,我尝试在网站上直接下载。但它总是失败并重置结果。其次,我使用 pyDataverse.api 来下载它。但我只能下载一些像 *.txt 这样的小文件。当我使用 get_datafile 下载 csv 文件时。我收到此错误“错误:GET HTTP 403 - https://opendata.pku.edu.cn/api/access/datafile/6595” “状态”:“错误”,“代码”:403,“消息”:“ '/api/v1/access/datafile/6595' 您无权通过此 api 端点访问此对象。
这是我的代码,我有我的 API_TOKEN 的秘密。
from pyDataverse.api import NativeApi, DataAccessApi
base_url = "https://opendata.pku.edu.cn"
API_TOKEN = "*****"
api = NativeApi(base_url, API_TOKEN)
data_api = DataAccessApi(base_url)
DOI = "doi:10.18170/DVN/WSXCNM"
dataset = api.get_dataset(DOI)
files_list = dataset.json()['data']['latestVersion']['files']
for file in files_list:
filename = file["dataFile"]["filename"]
file_id = file["dataFile"]["id"]
print("File name {}, id {}".format(filename, file_id))
response = data_api.get_datafile(file_id)
with open(filename, "wb") as f:
f.write(response.content)
谁能给我一些建议或者你能分享我在中国的其他 POI 数据吗?非常感谢。