Запросы - POST нумерация страниц? - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу получить эти транзакции: https://www.omniexplorer.info/address/1FoWyxwPXuj4C6abqwhjDWdz6D4PZgYRjA

На первой странице нет проблем с:

import requests

headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
}

data = [('addr', '1FoWyxwPXuj4C6abqwhjDWdz6D4PZgYRjA')]

response = requests.post('https://api.omniexplorer.info/v1/address/addr/details/', headers=headers, data=data)

response = response.json()

print(response["transactions"])

Но как я могу вызвать страницу 2, например?

Я пробовал с параметрами "params = {'page': 2}", но это не работает

Буду признателен за любую помощь!

С уважением

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Для используемого вами API вы должны отправить номер страницы в виде значения формы:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "page=19" "https://api.omniexplorer.info/v1/properties/gethistory/3"

Если вы замените страницу = 19 на страницу = 20, вы увидите, что второй вызов имеет толькотри записи, в то время как первая имеет десять.

При использовании запросов это должно выглядеть примерно так:

r = requests.post('https://api.omniexplorer.info/v1/properties/gethistory/3',
                  data={'page': 10})

Или, используя собственный пример, а не тот, который я нашел на их странице:

import requests

headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
}

data = {
    'addr': '1FoWyxwPXuj4C6abqwhjDWdz6D4PZgYRjA',
    'page': 1,
}

response = requests.post('https://api.omniexplorer.info/v1/address/addr/details/',
                         headers=headers, data=data)
0 голосов
/ 27 сентября 2018

Вы думаете, что это может быть ОТДЫХ, тогда вы будете знать, как это сделать

import requests

headers = {
    'Content-Type': 'application/x-www-form-urlencoded'
}
pj = {}

for page in range(1,3):
    data = [('addr', '1FoWyxwPXuj4C6abqwhjDWdz6D4PZgYRjA'),('page',page)]
    response = requests.post('https://api.omniexplorer.info/v1/address/addr/details/', headers=headers , data = data)
    response = response.json()
    print(response)
    pj[page] = response["transactions"]
value = list(pj.values())
print(value[0] == value[1])
...