5478512 Asked:2020-02-28 00:56:40 +0000 UTC2020-02-28 00:56:40 +0000 UTC 2020-02-28 00:56:40 +0000 UTC 如何从yandex磁盘下载文件 772 有一个文件:https ://yadi.sk/d/xsjJ3dEqb4pvlQ (它是打开的)我怎样才能下载它?不需要授权等。 python 2 个回答 Voted Best Answer Xander 2020-02-28T16:35:56Z2020-02-28T16:35:56Z 这是下载已发布文件的代码。(您的链接由于某种原因不起作用,我插入了我的链接作为示例。当您拥有它时将其替换为您的工作链接) import requests from urllib.parse import urlencode base_url = 'https://cloud-api.yandex.net/v1/disk/public/resources/download?' public_key = 'https://yadi.sk/d/UJ8VMK2Y6bJH7A' # Сюда вписываете вашу ссылку # Получаем загрузочную ссылку final_url = base_url + urlencode(dict(public_key=public_key)) response = requests.get(final_url) download_url = response.json()['href'] # Загружаем файл и сохраняем его download_response = requests.get(download_url) with open('downloaded_file.txt', 'wb') as f: # Здесь укажите нужный путь к файлу f.write(download_response.content) mr.polden2010 2021-12-03T05:21:04Z2021-12-03T05:21:04Z 如果文件夹和文件有公共链接,则未经授权从 Yandex 磁盘将 .csv 上传到 DataFrame Pandas 图书馆: import pandas as pd import requests import urllib import json 公共链接(发布时可以复制文件和文件夹): folder_url = 'https://yadi.sk/d/my_folder_hash' file_url = 'file.csv' url = 'https://cloud-api.yandex.net/v1/disk/public/resources/download' + '?public_key=' + urllib.parse.quote(folder_url) + '&path=/' + urllib.parse.quote(file_url) 准备下载链接: r = requests.get(url) # запрос ссылки на скачивание h = json.loads(r.text)['href'] # 'парсинг' ссылки на скачивание 将数据加载到 DataFrame 中: df = pd.read_csv(h, sep=';', error_bad_lines=False, comment='#' , encoding='cp1251') 您需要了解正确的分隔符和编码,我有 sep=';' 和编码='cp1251'。
这是下载已发布文件的代码。(您的链接由于某种原因不起作用,我插入了我的链接作为示例。当您拥有它时将其替换为您的工作链接)
如果文件夹和文件有公共链接,则未经授权从 Yandex 磁盘将 .csv 上传到 DataFrame Pandas
图书馆:
公共链接(发布时可以复制文件和文件夹):
准备下载链接:
将数据加载到 DataFrame 中:
您需要了解正确的分隔符和编码,我有 sep=';' 和编码='cp1251'。