comment obtenir la photo de profil d'un profil instagram en pleine résolution? (L'ancien schéma d'URL a cessé de fonctionner aujourd'hui).
regex = 'profile_pic_url_hd ":" ([0-9a-zA-Z ._- /:] *) ",'
Fonctionne pour des images 320px, mais rien d'autre. Le préfixe de l'img 150x150 est différent, mais l'ID/la fin de l'url avec jpg est le même.
Merci
Bon les gars, j'ai trouvé une solution finale:
Obtenez le user_id du compte en utilisant ce lien https://www.instagram.com/ {name} /? __ a = 1
Visitez cette API JSON avec l'ID utilisateur ci-dessus https://i.instagram.com/api/v1/users/ {user_id}/info / Le lien de l'image de profil en taille réelle se trouve dans [hd_profile_pic_url_info] [url]
C'est tout! :)
[MODIFIER]
Si l'étape 1 ne fonctionne pas, ma solution Php pour obtenir l'ID utilisateur :
$name = "{username}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/$name/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($http=="200") {
$doc = new DOMDocument();
$doc->loadHTML($result);
$xpath = new DOMXPath($doc);
$js = $xpath->query('//body/script[@type="text/javascript"]')->item(0)->nodeValue;
$start = strpos($js, '{');
$end = strrpos($js, ';');
$json = substr($js, $start, $end - $start);
$data = json_decode($json, true);
$user_id = $data["entry_data"]["ProfilePage"][0]["graphql"]["user"]["id"];
}
Je recherche dans le document HTML l'identifiant utilisateur.
Cela ne fonctionne plus après la mise à jour dans l'API Instagram
Si vous affichez le code source et exécutez une recherche de texte simple pour logging_page_id
, il aura profilePage_
, puis un nombre. Ce numéro est l'ID utilisateur.
par exemple.:
logging_page_id":"profilePage_123456789
L'ID utilisateur est: 123456789