Autor Zpráva
Fury
Profil *
Zdravím,

chci se zeptat, je nějaká možnost, jak získat automaticky query_hash, kterou generuje Instagram? Zjistil jsem, že pokud přijdu např. na profil NFL:
- www.instagram.com/nfl

Tak po další fotky se načítají přes graphql (request se po skrolování zobrazí v Network v consoli):
www.instagram.com/graphql/query/?query_hash=472f257a40c653c64c666ce877d59d2b&variables=%7B%22id%22%3A%22205593849%22%2C%22first%22%3A12%2C%22after%22%3A%22AQDGIgahJ6LvmbW1lsVqfVjYeKnD1ebMTLsstpuvRiVW0C9kVPuz6qpvHCyu9L34t9q7FkIrGn3Z-NhJ2TzZheECwj4s6u8y330I3z-LAj5MtQ%22%7D

Takže nyní jsem schopný s tím pracovat (měnit si parametry, ...), každopádně query_hash nemá neomezenou platnost, proto by mě zajímalo, zda se tato query_hash dá získat automaticky přes nějaký skript?

Díky moc za radu
Kcko
Profil
Hash v PHP nezjistíš.
Sitole
Profil
Fury:
Můžeš se podívat na dokumentaci, ale nepředpokládám, že by něco podobného šlo.
Spíše bych využil standardní Instagram potažmo Facebook (do nějaké části jsou dosti propojené) API.
Keeehi
Profil
Kcko:
Hash v PHP nezjistíš.
To ani nechce.

Fury:
V html stránce Instagramu mám na řádku 24 <link rel="preload" href="/static/bundles/base/ProfilePageContainer.js/43b7769681db.js" as="script" type="text/javascript" crossorigin="anonymous" />
Když si zobrazím obsah tohoto souboru a vyhledám v něm řetězec queryId, tak mi to najde tři výskyty. No a za tím třetím je ten hash co hledáš. Ovšem tyto automaticky generované javascriptové kódy jsou velice nestabilní takže pokud se chceš vydat touto cestou, tak si musíš pořádně zjistit, co všechno se tam může objevit a pak doufat, že to Instagram brzy nezmění. Rozhodně tento postup nedoporučuji a jak už psal Sitole, vydal bych se cestou oficiálního API. Získat linky na obrázky profilu umí a máš jistotu stability. Navíc pro napojení na API Instagramu z PHP existuje hromada knihoven.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: