pku_opendataからマップ POI データをダウンロードしたい。
まず、Webサイトから直接ダウンロードしてみました。しかし、それは常に失敗し、結果をリセットしました。次に、pyDataverse.api を使用してダウンロードします。しかし、*.txt のような小さなサイズのファイルをダウンロードすることはできます。get_datafile を使用して csv ファイルをダウンロードすると。このエラーが発生しました "ERROR: GET HTTP 403 - https://opendata.pku.edu.cn/api/access/datafile/6595" "status":"ERROR","code":403,"message":" '/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データを共有してくれませんか? どうもありがとう。