После стольких вызовов API (у которого нет ограничений на использование) начинает возвращать API, возвращающий

#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. Да, я отправлял запросы один за другим.