web-dev-qa-db-fra.com

Image de profil Instagram en pleine résolution?

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

5
Simon

Bon les gars, j'ai trouvé une solution finale:

  1. Obtenez le user_id du compte en utilisant ce lien https://www.instagram.com/ {name} /? __ a = 1

  2. 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.

15
xC0dex

Cela ne fonctionne plus après la mise à jour dans l'API Instagram

2
Anurag Meena

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

2
bax