#python #html #api #response
#python #HTML #API #ответ
Вопрос:
Я использую API базы данных Immune Epitope (http://tools.iedb.org/main/tools-api /) с помощью Python для получения данных прогнозирования связывания для списка из 525 пептидных последовательностей, которые у меня есть. Я проверил документацию IEDB, и в ней явно указано, что ограничений на использование нет; однако после того, как я вызываю API столько раз, сколько я перебираю свой список последовательностей, я начинаю получать
< html >< head >
в качестве объекта ответа для каждого вызова вместо обычного объекта ответа, такого как
['HLA-B*57:01', '1', '1', '9', '9', 'ITFDNLKTL', 'ITFDNLKTL', 'ITFDNLKTL', '0.615', '0.38']
Количество вызовов, после которых это происходит, отличается каждый раз, когда я запускаю свой скрипт, поэтому я знаю, что ему ничего не нужно делать с тем, что я ввожу в вызов API.
Например, иногда он начнет возвращаться < html >< head >
после 125 вызовов, 79 вызовов, 23 вызовов и т.д.
После того, как он возвращается < html >< head >
один раз, все исходящие объекты ответа являются < html >< head >
.
На всякий случай я начал использовать модуль time и устанавливать 30-секундное время ожидания после каждых 25 вызовов, что никак не помогло решить эту проблему.
Есть идеи, что происходит?
Комментарии:
1. Вы отправляете свои задания одно за другим? Это, вероятно, перегрузит их сервер.
2. Ограничений на использование может и не быть, но в их пользовательских рекомендациях явно указано: «Пожалуйста, не отправляйте более 1 задания одновременно. Вместо этого дождитесь завершения вашего отправленного задания, прежде чем отправлять другой запрос. Конечно, вы можете отправить несколько последовательностей / аллелей / длин в любом заданном запросе. Ожидание завершения вашего отправленного задания перед отправкой другого поможет сохранить ресурсы доступными для других пользователей «. См. tools.iedb.org/main/usage-guidelines
3. Да, я отправлял запросы один за другим.