gpt4 book ai didi

python - 使用 Python 从 Linux 核心服务器下载经过身份验证的 Django 应用程序的文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:39 24 4
gpt4 key购买 nike

问题是关于从 Linux 核心服务器自动从经过身份验证的 Django 网站下载数据。能够使用 python 脚本来完成它会很棒。

问题背景

Challenge Data website是一个提出数据科学挑战的网站。该网站是用 Django 编写的。

18-Owkin data challenge数据挑战提供了相当大的数据(超过10Gb)。您需要经过身份验证才能下载数据。

在对网站进行身份验证并单击类似 y_train 的下载链接后,我可以从 Windows 10 笔记本电脑下载文件。 。 在这种情况下,下载会自动开始。

但是,我想将数据上传到 GPU Cloud Linux Core(无 GUI)机器。我可以通过笔记本电脑执行此操作,但由于我的上行带宽较低,速度非常慢。

您是否找到了直接从 Linux 核心服务器获取数据的方法?这意味着:

  • 向 (Django) 网站进行身份验证。
  • 然后连接到“下载 URL”。它会执行下载吗?

最佳答案

BoboDarph的大力帮助下,我发现以下正在运行的 Python 脚本:

# python script:
import requests
from getpass import getpass
from os import stat

# constants
url_login = 'https://challengedata.ens.fr/login/'
url_logout = 'https://challengedata.ens.fr/userlogout'

username = input("Challenge data Username: ")
password = getpass("Challenge data Password: ")

client = requests.session()
login_text = client.get(url_login)

csrftoken = client.cookies['csrftoken']

login_data = ({'username': username, 'password': password, 'csrfmiddlewaretoken': csrftoken,
'next': 'https://challengedata.ens.fr/participants/challenges/18/download/y-train'})
r = client.post(url_login, data=login_data)

csrftoken = client.cookies['csrftoken']

file_save = 'training_output.csv'

with open(file_save, 'wb') as fd:
for chunk in r.iter_content(chunk_size=1045504):
fd.write(chunk)

print("File '{0}' saved, {1} bytes".format(file_save, stat(file_save)[6]))

r = client.post(url_logout, data={'csrfmiddlewaretoken': csrftoken})

关于python - 使用 Python 从 Linux 核心服务器下载经过身份验证的 Django 应用程序的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56703852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com