2017-08-18 3 views
-2

Je veux développer un projet PHP pour obtenir le contenu d'un post sur Instagram (via l'URL du message). Je veux dire, par exemple, le robot reçois ce Url et retour:Recevoir le contenu du post Instagram php

#TBT Used to love carrying them both at once #twinmom #mycoconuts 
#mylifeinmyhands #toobignow #istilltrysometimes #LOVE #forevermybabies 

Après avoir utilisé les file_get_contents, la réponse de retour est vide. Je ne sais pas comment résoudre ce problème. Pouvez-vous m'aider? Je ne veux pas utiliser l'API Instagram!

+0

vous ne pouvez pas obtenir les détails de la page en utilisant le fichier obtenir la fonction du contenu. Comme la page/post est chargé via javascript après le chargement de la page (essayez d'ouvrir la page dans la fenêtre du navigateur désactivé par javascript). –

+0

Instagram est une application React, ce qui signifie que beaucoup de choses se passent côté client. La seule solution viable consomme leur API. Il y a aussi quelques bibliothèques PHP. https://github.com/cosenary/Instagram-PHP-API – Fotis

Répondre

0

Vous ne devriez pas utiliser ce car il se brisera dès que Instagram fait un changement à leur balisage, mais là, vous allez:

<?php 

$instagram_url = "https://www.instagram.com/p/BX6IowXFbq9"; 

$source = file_get_contents($instagram_url); 

preg_match('/<script type="text\/javascript">window\._sharedData =([^;]+);<\/script>/', $source, $matches); 

$data = json_decode($matches[1]); 

echo $data->entry_data->PostPage[0]->graphql->shortcode_media->edge_media_to_caption->edges[0]->node->text; 
0

C'est peu tard mais je suis capable d'aller chercher chronologie Instagram, Détails spécifiques aux médias.

Par exemple:

  • Fetch Liste de l'utilisateur du poste

Si Instagram url page L'utilisateur est https://www.instagram.com/marvel puis iront chercher ces données de page que vous pouvez utiliser ci-dessous URL

https://www.instagram.com/marvel?__a=1 
  • Récupérer des détails de publication de média spécifiques

Si Instagram url page post détail est https://www.instagram.com/p/BfeD8RxHwnC/?taken-by=marvel alors chercher ces données de page que vous pouvez utiliser ci-dessous URL

https://www.instagram.com/p/BfeD8RxHwnC/?taken-by=marvel&__a=1