无法使用 urllib.request 从网站下载文件

Unable to use urllib.request to download file from website

我正在尝试使用 python urllib.request 库从 alphafold 网站下载具有给定蛋白质的完整预测分子结构的 .pdb(蛋白质数据库)文件。在这个例子中,我试图下载一个 uniprot ID 为 Q9BY15 的蛋白质。条目 https://alphafold.ebi.ac.uk/entry/Q9BY15 包含下载 link 到蛋白质的 pdb 文件,如下所示;

并且手动下载的文件具有以下命名格式;

这是我正在使用的代码块(最简单的形式)

import os
import urllib
import urllib.request

url = 'https://alphafold.ebi.ac.uk/entry/'
prot = 'Q9BY15'
alphaname = 'AF-' + prot + '-F1-model_v2.pdb'
urllib.request.urlretrieve(url + prot, alphaname)

这是我 运行 代码时得到的文件;

如您所见,该文件远小于真实文件的实际大小(尽管名称完全相同),并且在通过蛋白质识别程序查看时实际上是空的。我将如何重写此代码以提取实际文件?

我不确定这是否能解决您的问题,但下载 Q9BY15 的 pdb 文件的正确 url 是 https://alphafold.ebi.ac.uk/files/AF-Q9BY15-F1-model_v2.pdb

尝试将 link 中的 /entry/ 替换为 /files/