Хм, один из способов - циклически просматривать возможные комбинации параметров, которые вы знаете. Например, API принимает параметры «год» и «компания» среди других. Вы можете начать с самого раннего года, в котором была вручена награда, скажем, 1990 года, и переходить от одного года к другому к настоящему.
https://www.sbir.gov/api/awards.json?year=2010
https://www.sbir.gov/api/awards.json?year=2011
https://www.sbir.gov/api/awards.json?year=2012
таким образом, вы получите до 100 наград в год. Это лучше, однако, вы упомянули, что есть 171616 возможных результатов, то есть более 100 в год, поэтому они не получат их всех. Вы можете использовать другой параметр «компания» в комбинации.
https://www.sbir.gov/api/awards.json?year=2010&company=luna
https://www.sbir.gov/api/awards.json?year=2011&company=luna
https://www.sbir.gov/api/awards.json?year=2010&company=other_company
https://www.sbir.gov/api/awards.json?year=2011&company=other_company
Теперь вы получаете до 100 результатов на компанию в год. Это даст вам больше результатов. Вы можете получить список компаний из другой конечной точки, которую они предоставляют, у которой, похоже, нет ограничений на отображаемые результаты - https://www.sbir.gov/api/firm.json, но будьте осторожны, выходящий json абсолютно массивный и может заморозить ваш ноутбук , Вы можете использовать значения из этого json для параметра 'company' и прокручивать их.
Конечно, все это обходной путь, который все еще не гарантирует, что вы получите ВСЕ результаты (хотя может получить их все). Моим первым действием будет попытка связаться с администраторами сайта и рассказать им о вашей проблеме. Обычная вещь, которую нужно сделать для apis, которые возвращают массивный список результатов, - предоставить параметр page
в URL-адресе - https://www.sbir.gov/api/awards.json?page=2
, чтобы вы могли переключаться между страницами результатов. Может быть, вы можете убедить их сделать это. Удачи!