Python запрашивает, как использовать курсор, чтобы получить каждую страницу - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь получить каждую страницу и записать ее в JSON. Это то, что у меня есть, и оно прекрасно пишет в JSON, но записывает только первые 100 и не перемещает курсор на каждую страницу. Это API https://developers.gfycat.com/api/#user -фиды

import requests
import json

url = "https://api.gfycat.com/v1/users/brandonedora/gfycats"

params = {"count": "100", "cursor": "YnJhbmRvbmVkb3JhfDEsdmlnb3JvdXNkZWZpYW50ZG9iZXJtYW5waW5zY2hlcixicmFuZG9uZWRvcmEsMTU4NDYxNDQ5Mg=="}

r = requests.get(url, params=params)

text_json = json.loads(r.content)

json.dump(text_json, open("testdump.json", "w"), indent = 2)

1 Ответ

0 голосов
/ 07 апреля 2020
import requests
import json


params = {
    "count": "100",
    "cursor": "YnJhbmRvbmVkb3JhfDEsdmlnb3JvdXNkZWZpYW50ZG9iZXJtYW5waW5zY2hlcixicmFuZG9uZWRvcmEsMTU4NDYxNDQ5Mg=="
}


def main(url):
    with requests.Session() as req:
        allin = []
        for _ in range(1, 4):
            r = req.get(url, params=params).json()
            params['cursor'] = r['cursor']
            print(params)

            allin.append(r)
        goal = json.dumps(allin, indent=4)
        with open("data.txt", 'w') as f:
            f.write(goal)


main("https://api.gfycat.com/v1/users/brandonedora/gfycats")
...