Скрипт для автоматизации запроса онлайн-инструмента

Итак, у меня было несколько последовательностей аминокислот, которые я хотел использовать в качестве входных данных для инструмента, изучающего их взаимодействие с определенными компонентами иммунной системы человека (http://www.cbs.dtu.dk/services/NetMHCcons/).

Я хотел спросить, каков будет способ доступа, ввода данных и получения вывода через скрипт (предпочтительно R или python), если таковой имеется. Моя главная проблема заключалась в том, что у меня было много последовательностей, которые нужно запрашивать отдельно, поэтому я хотел автоматизировать все это. На веб-сайте есть одно поле с надписью «Отправка», которое принимает строковый ввод. Есть еще одно поле «выбрать виды/локусы», которое дает раскрывающееся меню, из которого необходимо выбрать вариант. Наконец, есть кнопка «отправить». Вывод просто загружается на страницу после нажатия кнопки «Отправить».

Я предварительно поковырялся с RSelenium и Rcurl, но хотел спросить, есть ли более эффективный метод.


person Saam_H    schedule 29.05.2020    source источник


Ответы (2)


Я взглянул на то, что нужно для отправки POST-запроса в эту службу из Python, и это выглядит возможным:

  • эта форма принимает "multipart/form-data" (см.: Как отправить составные данные/данные формы с запросами в python?), вам нужно будет отправить данные в этом формате. Вы можете проверить запрос из браузера (используя инструменты разработчика) и скопировать оттуда поля в качестве отправной точки.
  • как только форма отправлена, она не дает вам результат сразу. Вам нужно будет получить свой идентификатор задания из ответа, а затем опросить 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

Возможно, загрузка этой версии облегчит задачу?

person dcollien    schedule 29.05.2020

Попробуйте следующее: Отправка в веб-форму с помощью python Эта ссылка является ответом на вопрос, как отправлять веб-формы в python с помощью urllib . Проверьте свой исходный код и извлеките необходимые данные с помощью модуля re из исходного кода ссылки, которую вы разместили, и отправьте запрос. сохраните исходный HTML-код http://www.cbs.dtu.dk/services/NetMHCcons/ в файле Python как

source_code = '''...'''

HTML можно найти с помощью CTRL+U в firefox.

person Roshin Raphel    schedule 29.05.2020