2016-04-10 3 views
0

Я хочу извлечь profile_picture любого пользователя instagram из URL-адреса JSON: https://www.instagram.com/just/media/ с PHP и распечатать его. Я пробовал:Instagram JSON извлечения извлечения PHP

$instaJSONUrl = 'https://www.instagram.com/just/media/'; 
$json = file_get_contents($instaJSONUrl); 
$json_data = json_decode($json, true); 
echo $json_data["profile_picture"]; 

Не работает .. Если я распечатать $ JSON только я получаю:

{status":"ok","items":[],"more_available":false} 

Это означает, что проблема с чтением URL. Означает ли это, что мне нужен токен доступа, потому что я не хочу его использовать, поскольку я уже могу получить URL-адрес изображения профиля, когда открываю https://www.instagram.com/just/media/ из моего браузера.

ответ

1

Это приведет к появлению множества пользователей и их связей профиля изображения.

<?php 

$instaJSONUrl = 'https://www.instagram.com/just/media/'; 
$json = file_get_contents($instaJSONUrl); 
$json_data = json_decode($json, true); 

$users = array(); 

foreach($json_data['items'] as $item) 
    foreach($item['comments'] as $comment) 
      foreach($comment as $profile) 
        $users[$profile['from']['username']] = $profile['from']['profile_picture']; 


print_r($users); 
+0

Проблема в том, что он не может получить доступ ко всему JSON, как это происходит при его открытии через браузер. В основном это читается как: {status ":" ok "," items ": []," more_available ": false}, поэтому у него нет никаких элементов. Проверьте решение, которое я получил :-) –

+0

А, хорошо рад, что у вас это работает –

0

Успели сделать это с помощью доступа к мета-теги непосредственно, и в частности <meta property="og:image" тег, со следующим:

libxml_use_internal_errors(true); 
$c = file_get_contents($instaURL); 
$d = new DomDocument(); 
$d->loadHTML($c); 
$xp = new domxpath($d); 

, а затем я могу распечатать URL изображения с:

foreach ($xp->query("//meta[@property='og:image']") as $el) { 
    echo $el->getAttribute("content"); 
} 


Вы также можете использовать его для доступа к другим объектам, таким как og:url и og:description для конкретного пользователя Instagram.

Это для всех тех людей, которым необходимо получить доступ к &, получить пользовательские данные Instagram (basic: profile_image, profile_url, profile_description и т. Д.), Не имея дело с API Instagram.

Смежные вопросы