Запросы - POST нумерация страниц?

1

Я хочу получить эти транзакции: 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}", но это не работает

Поблагодарили бы за любую помощь!

С уважением

  • 1
    Это зависит от реализации сервера. Посмотрите, что делает браузер, когда вы запрашиваете в браузере вторую страницу.
  • 0
    он добавляет / с номером страницы - например, / 2 - так как я пытаюсь получить данные через API, как это можно сделать с запросами?
Показать ещё 3 комментария
Теги:
python-requests
pagination

2 ответа

1
Лучший ответ

Для 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)
1

Вы думаете, что это может быть RESTful, тогда вы будете знать, как это сделать

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])
  • 0
    В общем, это зависит от моего опыта больше, чем пытаться понять API док. Я не видел никаких подробностей о том, как получить доступ к следующей странице, в документе

Ещё вопросы

Сообщество Overcoder
Наверх
Меню