簡體   English   中英

Python 請求:上傳文件並隨后解析來自重定向的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM