jsonscraper

Przewodnik inżynierski IG

Jak scrapować IG za pomocą Pythona

Zaktualizowano 5 marca 2026 r. 3 min czytania 15 wyświetleń

W tym przewodniku przedstawiono pierwszy w środowisku produkcyjnym przepływ pracy z danymi IG przy użyciu mapy punktów końcowych jsonscraper, z przykładami rzeczywistych odpowiedzi i praktycznymi wyborami architektury.

W przypadku obciążeń produkcyjnych kluczową korzyścią jest głębokość punktu końcowego oraz obsługa cache_timeout na ważnych trasach, co pomaga ograniczyć duplikowanie wywołań i spalanie przydziałów.

Co zbudujesz

Szybki start w Postmanie

Zacznij od oficjalnej kolekcji IG, ustaw license_key raz i uruchamiaj zapytania kilkoma kliknięciami przed pisaniem kodu.

Krok 1

Widelec

Użyj kolekcji IG lub TikTok Postman jako linii bazowej swojego obszaru roboczego.

Krok 2

Ustaw klucz

Configure license_key once in an environment variable.

Krok 3

Automatyzuj

Eksportuj fragmenty lub uruchamiaj przepływy pracy agentów AI na podstawie gotowych żądań.

Wszystkie zapytania API

Pełna mapa endpointów z kolekcji. Rozwiń każdą klasę i kliknij trasę, aby zobaczyć parametry i przykłady odpowiedzi.

Uzytkownik Media Relacja Wyroznione Lokalizacja Hashtag Szukaj Wyszukiwanie FB Audio (Muzyka) Web API (GraphQL)
User (30 endpoints)
Media (18 endpoints)
Story (6 endpoints)
Highlight (3 endpoints)
Location (6 endpoints)
Hashtag (8 endpoints)
Search (11 endpoints)
FB Search (2 endpoints)
Audio (Music) (2 endpoints)
Web API (GraphQL) (11 endpoints)
Wyświetl pełną listę punktów końcowych w programie Postman

Przykłady Python z kolekcji

Te przykłady używają tego samego modelu auth co Postman: license_key w parametrach query.

Example 1: get user by username (GET /v1/user/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "apple",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["ig"]["username"], data["ig"]["pk"])
{
  "status": "ok",
  "limits_info": {"requests_count": 7098, "requests_limit": 2000300},
  "rate_limit_reached": false,
  "ig": {"pk": 5821462185, "username": "apple", "full_name": "apple"}
}

Example 2: get user stories by username (GET /v1/user/stories/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "applemusic",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/stories/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

stories = data.get("ig", [])
print("stories:", len(stories))

Wzorzec zapytań Python (license key + paginacja)

Użyj wspólnego helpera zapytań, aby podpis i paginacja były spójne we wszystkich endpointach.

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    res = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    res.raise_for_status()
    return res.json()

page1 = call("/v1/user/medias/chunk", user_id="5821462185")
next_max_id = page1.get("next_max_id")
if next_max_id:
    page2 = call("/v1/user/medias/chunk", user_id="5821462185", max_id=next_max_id)

Uwagi wdrożeniowe

  • Zawsze dodawaj license_key w każdym zapytaniu.
  • Używaj cache_timeout świadomie przy powtarzalnych sprawdzeniach.
  • Zapisuj pola kursorów razem z kontekstem zapytania.
  • Rozszerzaj pokrycie tras klasami po walidacji bazowej.

Gotowy do uruchomienia przepływu pracy API?

Wybierz interfejs API, przetestuj punkty końcowe w Postman i uruchom przepływ pracy w ciągu kilku minut.