【问题标题】:Script for automating online tool query用于自动在线工具查询的脚本
【发布时间】:2020-05-29 06:41:57
【问题描述】:

所以我有一些氨基酸序列字符串,我想将它们用作研究其与人体免疫系统某些组件相互作用的工具的输入 (http://www.cbs.dtu.dk/services/NetMHCcons/)。

我想问一下,如果有的话,通过脚本(最好是 R 或 python)访问、输入数据和获取输出的方法是什么。我的主要问题是我有很多需要单独查询的序列,所以想要自动化整个事情。该网站有一个字段读取“提交”,它接受字符串输入。还有另一个字段“选择物种/基因座”,它提供了一个下拉菜单,需要从中选择一个选项。最后有一个“提交”按钮。输出只是在点击提交后加载到页面上。

我试探性地研究了 RSelenium 和 Rcurl,但想问问是否有更有效的方法。

【问题讨论】:

    标签: python r web-scraping bioinformatics protein-database


    【解决方案1】:

    我查看了从 Python 向该服务发送 POST 请求需要什么,并且看起来可行:

    • 此表单采用“multipart/form-data”(请参阅​​:How to send a "multipart/form-data" with requests in python?),您需要以这种格式发送数据。您可以检查来自浏览器的请求(使用开发工具)并从那里复制字段作为起点。
    • 提交表单后,它不会立即为您提供结果。您需要从响应中获取您的工作 ID,然后轮询 URL:http://www.cbs.dtu.dk/cgi-bin/webface2.fcgi?jobid={your_job_id}&wait=20,直到它为您提供结果
    • 然后需要下载和解析结果

    此工具可作为 linux/mac 的便携式版本提供:https://services.healthtech.dtu.dk/software.php

    也许下载这个版本会更容易?

    【讨论】:

      【解决方案2】:

      试试这个: Submitting to a web form using python 此链接是关于如何使用urllib 在 python 中发送 Web 表单的答案。检查您的源代码并使用re 模块从您提供的链接的源代码中提取必要的数据,然后发送请求。 将python文件中http://www.cbs.dtu.dk/services/NetMHCcons/的HTML源代码保存为

      source_code = '''...'''
      

      可以在 firefox 中使用 CTRL+U 找到 HTML。

      【讨论】:

        猜你喜欢
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多