Ravindra Bagale · Data Scienceसर्व coursesया course चे lessonsशोधाEnglish

Data Science · मराठी आवृत्ती

26.4 Nested आणि paged payloads (हलकी)

By Ravindra Bagale

या course चे सर्व chapters (py + ch)

हे का शिकायचं?

मोठे API page-page देतात. Loop + concat, पण rate limits आदर करा.

हे काय आहे?

page param / next URL. थोड्या pages ने test. मग पूर्ण.

कसं करायचं?

Step 1. पहिली page.

Step 2. next कसं मिळतं ते वाचा.

Step 3. 2–3 pages concat.

Step 4. Sleep/rate limit.

उदाहरणं: copy करा आणि चालवा

उदाहरण A — Wrapped results.

import pandas as pd

payload = {
    "ok": True,
    "data": {
        "results": [
            {"order_id": "BLK-30", "city": "Pune", "amount_inr": 64},
            {"order_id": "BLK-31", "city": "Sambhaji Nagar", "amount_inr": 110},
        ]
    },
}
df = pd.json_normalize(payload["data"]["results"])
print(df)

उदाहरण B — Fake pagination loop (local).

import pandas as pd

pages = [
    [{"order_id": "BLK-40", "city": "Pune"}],
    [{"order_id": "BLK-41", "city": "Nashik"}],
]
frames = [pd.DataFrame(p) for p in pages]
df = pd.concat(frames, ignore_index=True)
print(df)

उदाहरण C — One-row disaster.

import pandas as pd

payload = {"orders": [{"order_id": "BLK-1", "city": "Pune"}]}
print("bad shape", pd.DataFrame(payload).shape)      # often wrong grain
print("good shape", pd.DataFrame(payload["orders"]).shape)