[英]Upload data from file with Python requests (like @file in curl)
[英]Python requests: upload a file and subsequently parse data from a redirection
我正在尝试使用此在线转换器将 PDB(蛋白质数据库格式)文件转换为 SMILES 字符串(分子的表示): https://cactus.nci.nih.gov/translate/
当您提交 PDB 文件并按下“翻译”按钮时,它会重定向到带有 SMILES 字符串的新 url。 如何使用请求从重定向的 url 解析 output SMILES 字符串? 所有选项都可以保持默认。 到目前为止我已经尝试过:
import requests
url='https://cactus.nci.nih.gov/translate/'
with open("MTK.pdb", "rb") as file:
pdbfile = {'pdb': file}
r = requests.post(url, files=pdbfile, allow_redirects=True)
但它只是一直给我主页。 提前致谢。
可能重复: 上传文件并处理重定向 [PYTHON]
编辑:有问题的pdb文件: https://pastebin.com/zBNtqR7K (另存为.pdb)
您发布到错误 url,并以错误的方式发布。
表格中的文件称为file
。并且不要忘记在data
中添加一些额外的参数。否则它将收到500,
import requests
url = 'https://cactus.nci.nih.gov/cgi-bin/translate.tcl'
with open(r"xxx.pdb", "rb") as file:
pdbfile = {'file': file}
data = {
"smiles":"C12C3C4C1C5C4C3C25",
"format": "screen",
"astyle": "kekule",
"dim":"2D"
}
r = requests.post(url, files=pdbfile, data=data)
print(r.text)
结果:
....
<FONT STYLE="Helvetica, Arial">
<B>CC(C)(O)C1=C(CCC(SCC2(CC2)CC(O)=O)C3=CC(=CC=C3)CCC4=NC5=CC(=CC=C5C=C4)Cl)C=CC=C1</B>
</FONT>
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.