0

我想从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 数据吗?非常感谢。

4

0 回答 0