我正在尝试从该网站下载数据集https://motion-database.humanoids.kit.edu/list/motions/但是该网站只允许我通过单击下载所有文件来一次下载一个文件夹。
下面是我尝试使用 wget 的登录 ID 和密码,但仍然不起作用。
wget --user kong --password helpmedownloadpls https://motion-database.humanoids.kit.edu/file_download_archive/motions/3127/
答案1
--user
和--password
参数wget
在这里不起作用。
它们仅适用于 HTTP 基本身份验证方法,而目前几乎没有网站使用这种方法。
该网站(以及数百个其他网站)使用基于 Cookie 的身份验证。当您在登录表单上填写登录名和密码时,会生成一个会话 Cookie 并发送到您的浏览器,浏览器会在后续请求中发送此 Cookie 作为您已通过身份验证的证明。
您必须编写一个脚本,首先使用wget
with--post-data
参数填写登录表单以发送登录名和密码以及使用--save-cookies
and--keep-session-cookies
参数存储成功登录后收到的 cookie,然后使用wget
with--load-cookies
参数下载文件以使用先前存储的 cookie。