Я написал этот бит кода, чтобы извлечь идентификатор и ролл с веб-сайта.Как извлечь несколько строк из идентичных идентификаторов с помощью Python
import requests
import json
import time
import urllib
def ColorRequest(a=True):
url = 'http://csgoroll.com/v1/roulette/state?token=bcb7841fe779ac0ae2a9e4f882ed3961ce0d714215fede3c025a24fc418e123dcb5a0a47a0ba1825225c14b39e08ea399422eb2b012689a79c41f42b529640e37d5374125c3fef409b2d165c223923dbc27f320c53bf10e46e701058251c97b9' # Could add a + pls str(pagesomething) to add on to the url so that it would update
sourcecode = requests.get(url) # requests the data from the site
plaintext = sourcecode.text # imports all of the data gathered
obj = json.loads(plaintext)
for roll in obj['rolls']:
print(roll['id'], roll['roll'])
while a == True:
ColorRequest()
time.sleep(1000)
if __name__ == '__main__':
ColorRequest()
Но данные выглядит следующим образом
{
"gameState":
"1",
"currentGame": "9965464",
"startDate": "Mon Dec 05 2016 23:30:42 GMT+0000 (UTC)",
"rolls": [
{
"id": 9965465,
"hash": "f39a2391bd589fc217b73c407e316ff440dc920657929bd7ca9b7adddf0cedc9",
"roll": 11,
"state": 3,
"created_at": null,
"updated_at": null
},
{
"id": 9965466,
"hash": "45eaa2bddb3281f036932de5839d4ccc2b28ebb1d4ded8f6e67cbff273831c73",
"roll": 3,
"state": 3,
"created_at": null,
"updated_at": null
},
{
"id": 9965467,
"hash": "b6142c643816d2913a29518fdf624fcf577397af4ebfb008d61c4f1cf9d6ba3e",
"roll": 1,
"state": 3,
"created_at": null,
"updated_at": null
},
Мой вопрос, как я могу получить свою программу, чтобы признать, что существует несколько уровней данных для того, чтобы читать и хранить его, пока он будет только захватите верхний результат и сохраните его во время выполнения.
Что такое 'layer'? 'рулоны'? 'len (obj ['rolls'])'? Нет никаких indentical 'id'. BTW 'obj = sourcecode.json()' – furas
Непонятно, что вы хотите: ваш код в настоящее время входит в рекурсивный цикл после того, как он печатает первый «ролл». Это кажется совершенно ненужным. Итак, чего вы хотите достичь? Сделайте запрос, а затем распечатайте все данные 'roll'? И как только вы сделали повторение, каждый скажет 1 секунду? – sal