Сохранение большого json-файла, полученного из результатов запроса GET в MongoDB на python

#mongodb #api #rest

Вопрос:

Я пытаюсь получить доступ к количеству концертов( в данном примере массив «результаты») с помощью https://api.predicthq.com/v1/events/?q=collections .

после запуска следующего скрипта на python :

  import requests  class BearerAuth(requests.auth.AuthBase):  def __init__(self, token):  self.token = token  def __call__(self, r):  r.headers["authorization"] = "Bearer "   self.token  return r response = requests.get('https://api.predicthq.com/v1/events/?q=collections', auth=BearerAuth('myTokenWhichIsHiddenHere'))  print("response: ...",response.json())  

и результат таков :

 {  "count":5000,  "overflow": true,  "previous": null,  "next": "https://api.predicthq.com/v1/endpoint/?offset=10amp;limit=10",  "results": [  {  // record 1  },  {  // record 2  }   // more records   ] }  

Как вы можете видеть , в массиве результатов должно быть 5000 записей, однако, по понятным причинам, мой терминал python не показывает все эти 5000 (возможно, около 50 записей).

Интересно, как я могу получить доступ к записям в конце этого большого спектра, таким как 1000-я запись, которая никогда не будет доступна с помощью терминала python на моем компьютере.

Заранее спасибо

Ответ №1:

Вы можете использовать библиотеку json и функциональные нагрузки.

 import requests import json class BearerAuth(requests.auth.AuthBase):  def __init__(self, token):  self.token = token  def __call__(self, r):  r.headers["authorization"] = "Bearer "   self.token  return r response = requests.get('https://api.predicthq.com/v1/events/?q=collections', auth=BearerAuth('myTokenWhichIsHiddenHere'))  y = json.loads(response.json()) # y is python dictionary so you can just access any item with y[key]