【发布时间】:2019-01-15 17:02:01
【问题描述】:
我正在使用网站“musescore.com”,该网站有许多“.mxl”格式的文件,我需要使用 Python 自动下载这些文件。
网站上的每个文件都有一个唯一的 ID 号。这是一个示例文件的链接:
https://musescore.com/user/43726/scores/76643
URL 中的最后一个数字是该文件的 ID 号。我不知道乐谱的 mxl 文件在网站上的哪个位置,但我知道要下载该文件,必须访问以下网址:
https://musescore.com/score/76643/download/mxl
此链接对于每个文件都是相同的,但其中包含该文件的特定 ID 号。据我了解,此 url 执行下载文件的代码,而不是文件的实际路径。
这是我的代码:
import requests
url = 'https://musescore.com/score/76643/download/mxl'
user = 'myusername'
password = 'mypassword'
r = requests.get(url, auth=(user, password), stream=True)
with open('file.mxl', 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
f.write(chunk)
此代码下载一个网页,说我需要登录才能下载文件。它应该为这个分数下载 mxl 文件。这一定意味着我对网站的身份验证不当。我该如何解决这个问题?
【问题讨论】:
标签: python python-3.x authentication python-requests