JSON файл на инстаграмме __a = 1 дай мне html? - PullRequest
0 голосов
/ 03 мая 2020

Хочу отметить, что я начал изучать php на этой неделе, поэтому код будет немного дерьмовым, но пока достаточно, чтобы он работал искренне

Я создал этот скрипт, который собирается https://www.instagram.com/USERNAME/?__a=1 (по этому адресу есть файл JSON), используя file_get_contents () этого URL, должен вернуть мне файл JSON, и локально это происходит! локально работает отлично! но хостинг на моем домене скрипт не работает корректно, то есть file_get_contents () возвращает мне странную страницу html, которая абсолютно НЕ найдена в ссылке, которую я дал! и я не понимаю почему и что связано! Instagram замечает, что я прочитал данные и перенаправляет меня на другую страницу? я что-то пропустил в коде? я делаю это неправильно? Понятия не имею, прошу помощи! Я также пытался прочитать файл, который также находится в cURL, но ничего не делать

Я также думал о повторном редактировании всего кода в JS, надеясь, что то же самое не произойдет, но я бы не хотел чтобы сделать это снова и, возможно, найти себя с кодом, который дает мне тот же результат!

Я прилагаю код здесь

<?php

$commentiPost;
$likePost;
$postData;
$image;
$urlprofilo;
$followers;
$username;
$follow;
$like;
$commenti;

function getMediaByUsername($count) {
global $image;
global $commentiPost;
global $likePost;
global $urlprofilo;
global $followers;
global $username;
global $follow;
global $postData;
global $like;
global $commenti;
$uname      = htmlspecialchars($_GET["name"]);
$username   = strtolower(str_replace(' ','_',$uname));
$url        = "https://www.instagram.com/".$username."/?__a=1";

$userinfo   = file_get_contents($url);
$userdata   = json_decode($userinfo,true);
$user       = $userdata['graphql']['user'];
$iteration_url = $url;



if(!empty($user)){

    $followers  = $user['edge_followed_by']['count'];
    $follow     = $user['edge_follow']['count'];
    $fullname   = $user['full_name'];
    $username   = $user['username'];
    $profilepic = $user['profile_pic_url'];
$profilepic = (explode("/",$profilepic));
$urlprofilo = "https://scontent-frt3-1.cdninstagram.com/v/t51.2885-19/s150x150/$profilepic[6]";


$limit      = $count;
$tryNext    = true;
$found      = 0;


while ($tryNext) {
    $tryNext = false;

    $remote = file_get_contents( $iteration_url );

    $response = $remote;

    if ($response === false) {
        return false;
    }
    $data = json_decode($response, true);

    if ( $data === null) {
        return false;
    }
    $media = $data['graphql']['user']['edge_owner_to_timeline_media'];

    foreach ( $media['edges'] as $index => $node ) {
        if ( $found + $index < $limit ) {
            if (isset($node['node']['is_video']) && $node['node']['is_video'] == true) {
                $type = 'video';
            } else {
                $type = 'image';
            }
                $like = $like + $node['node']['edge_liked_by']['count'];
    $commenti = $commenti + $node['node']['edge_media_to_comment']['count'];
                $image[] = array( "<a href=".$node['node']['display_url'].">
                                <img src=".$node['node']['display_url']." alt="." />
                                <h3>Like: </strong>".$node['node']['edge_liked_by']['count']."</strong>    Commenti: <strong>".$node['node']['edge_media_to_comment']['count']."</strong></h3>
                            </a>");
                $postData[] = array(" '".gmdate("d-m-Y",$node['node']['taken_at_timestamp'])."',");
              $likePost[] = array(" ".$node['node']['edge_liked_by']['count'].",");
            $commentiPost[] = array(" ".$node['node']['edge_media_to_comment']['count'].",");

        }
    }

    $found += count($media['edges']);


    if ( $media['page_info']['has_next_page'] && $found < $limit ) {
        $iteration_url = $url . '&max_id=' . $media['page_info']['end_cursor'];
        $tryNext = true;
    }
}






} else{




}

}
getMediaByUsername( 12);

if(isset($image))
{
   $postTot = count($image);
}
else {
    $postTot = 0;
}
if($postTot > 0 and $followers > 0){
$ER = round(((($like + $commenti)/$postTot)/$followers)*100, 1);
}
else {
    $ER = 0;
}




?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...