[SOLUCIONADO] Me ayudan con este PhP

Iniciado por lemos.ema, Mayo 28, 2020, 08:24:20 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 28, 2020, 08:24:20 PM Ultima modificación: Mayo 29, 2020, 10:10:28 PM por DtxdF
Hola. ¿cómo están?
Me ayudan por favor con este Php, sé que para ustedes seguramente es demasiado simple (tenganme paciencia, estoy aprendiendo).
Mi idea es ... en primera instancia es tomar toda el shortcode de la URL de cada una de las fotos. Hasta ahora todo bien ... pero luego quiero usar el shortcode para ingresar cada una de esas url (osea de cada una de las fotos) y de allí tomar más información como por ejemplo el nombre (full_name , solo puse eso pero mi idea es tomar el full_name y 3 datos mas como la cantidad de followers y la diferencia horaria de post en post, pero bueno con el full_name por ahora vamos bien)

les dejo el codigo:
Código: php
<?php
ini_set('max_execution_time', 0);
$baseUrl = "https://www.instagram.com/explore/tags/comida/?__a=1";
$url = $baseUrl;
$baseUrl2 = "https://www.instagram.com/p/";
$url2 = $baseUrl2;

while(1) {
    $file = fopen("links.txt","a");
    $json = (object) json_decode(file_get_contents($url));
    foreach($json->{'graphql'}->hashtag->edge_hashtag_to_media->edges as $object_return){
        var_dump($object_return->node->shortcode);
        echo "{$object_return->node->shortcode}\n";
        fwrite($file, $object_return->node->shortcode);
        fwrite($file,"\n");
        $url2 .= ($object_return->node->shortcode);
        $url2 .= "/?__a=1";
        echo "{$url2}\n";
        $json2 = (object) json_decode(file_get_contents($url2));
        foreach($json2->{'graphql'}->shortcode_media->owner->full_name as $a){
            echo "{$a}\n";
            fwrite($file,$a);
            fwrite($file,"\n");
   
        }

    }

    fclose($file);
    // Deben modificar la variable $URL y acceder correctamente a ella
    if(!$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->has_next_page) break;
    $url = $baseUrl.'&max_id='.$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->end_cursor;
}


Saludosssssssssss espero me puedan ayudar :D

Hola @lemos.ema.
La primera correcion seia en esta linea
Citar$url2 .= ($object_return->node->shortcode);
ya que seguira agregando a la url el nuevo short code obtenido y no obtendras nuevos datos, por lo cual antes de concatenar el short code debes resetear la variable al valor inicial No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Y segun No tienes permitido ver los links. Registrarse o Entrar a mi cuenta le pasas el parametro true para obtener un array asociativo en lugar de un objeto
Código: php

<?php
ini_set('max_execution_time', 0);
$baseUrl = "https://www.instagram.com/explore/tags/comida/?__a=1";
$url = $baseUrl;
$baseUrl2 = "https://www.instagram.com/p/";
$url2 = $baseUrl2;

while(1) {
    $file = fopen("links.txt","a");
    $json = (object) json_decode(file_get_contents($url));
    foreach($json->{'graphql'}->hashtag->edge_hashtag_to_media->edges as $object_return){
        var_dump($object_return->node->shortcode);
        echo "{$object_return->node->shortcode}\n";
        fwrite($file, $object_return->node->shortcode);
        fwrite($file,"\n");
        $url2 = $baseUrl2;  //Aqui se resetea la variable
        $url2 .= ($object_return->node->shortcode);
        $url2 .= "/?__a=1";
        echo "{$url2}\n";
        $json2 = json_decode(file_get_contents($url2), true);   //En lugar de obtener un objeto se obtiene un array asociativo
        $full_name = $json2['graphql']['shortcode_media']['owner']['full_name']."\n";
        $followed_by = $json2['graphql']['shortcode_media']['owner']['edge_followed_by']['count']."\n";
        //Ahora full_name y followed_by contienen los datos deseados
        fwrite($file, $full_name);
        fwrite($file,"\n");
        fwrite($file, $followed_by);
        fwrite($file,"\n");
    }

    fclose($file);
    // Deben modificar la variable $URL y acceder correctamente a ella
    if(!$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->has_next_page) break;
    $url = $baseUrl.'&max_id='.$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->end_cursor;
}


Te aconsejo que leas bien la documentacion ante cualquier error, posiblemente se te haga facil solucionar el problema, de lo contrario no dudes en preguntar.
Espero haber resuelto tus dudas, saludos.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

Muchisimassssssssssssssssssssssss gracias !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :) voy aprendiendo de a poco

Para eso es el foro ayuda mutua  ;)
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si la verdad me vino genial , lo unico que no encuentro y lo estoy buscando es ... como almacenar un Booleano
Osea por ejemplo en $json2['graphql']['shortcode_media']['caption_is_edited'] figura como "False"
me gustaria almacenarlo $VerdoFalso= $json2['graphql']['shortcode_media']['caption_is_edited']
y que $VerdoFalso quede igual a "False" o "true" pero en string

@lemos.ema

Lo prodrias hacer comparando el valor:
Código: php

if($json2['graphql']['shortcode_media']['caption_is_edited'] === "False"){
   $IsEdited = false;
} else {
   $IsEdited = true;
}


O en una sola linea
Código: php

$IsEdited = ($json2['graphql']['shortcode_media']['caption_is_edited'] === "False") ? false : true;
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

veo que me falta mucho para llegar a tu nivel  :( jajaja pero le pongo ganas y eso es lo que importa !

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
pero le pongo ganas y eso es lo que importa !
Asi es, eso es lo importante. Nadie nace sabiendolo todo, si practicas mucho adquiriras bastante conocimiento, no te desanimes o frustes cuanto algo no te funcione, en cambio es cuando mas debes echarle ganas, suerte  ;D.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

sabes que lo estaba probando , y pensé que funcionaba lo de False a True... pero siempre me lo guarda como valor "1" no importa si es verdadero o falso. Llegué bastante lejos jejeje pero no encuentro info sobre el tema, intente buscar y no molestar estos días que paso , pero no hay caso .
como veras en esta parte
Código: php
$esteesvideo = ($json2['graphql']['shortcode_media']['is_video'] === "False") ? "a" : "b";

hasta intente cambiar false por a y true por b a ver si lo aguardaba así pero no hay caso a todas las variables las guarda como 1 en links.txt
de hecho lo intente también de la otra forma con la condición If pero tampoco .
por otro lado quiero contar los edges de $json2['graphql']['shortcode_media']['edge_sidecar_to_children']['edges'] y tampoco , siempre me toma como "1". Cual puede ser el problema?
La verdad que a veces esto desmotiva cuando uno no encuentra la solución y se traba  :(

Código: php
<?php
ini_set('max_execution_time', 0);
$baseUrl = "https://www.instagram.com/explore/tags/comida/?__a=1";
$url = $baseUrl;
$baseUrl2 = "https://www.instagram.com/p/";
$url2 = $baseUrl2;

while(1) {
    $file = fopen("links.txt","a");
    $json = (object) json_decode(file_get_contents($url));
    foreach($json->{'graphql'}->hashtag->edge_hashtag_to_media->edges as $object_return){
        var_dump($object_return->node->shortcode);
        echo "{$object_return->node->shortcode}\n";
        fwrite($file, $object_return->node->shortcode);
        fwrite($file,"\n");
        $url2 = $baseUrl2;  //Aqui se resetea la variable
        $url2 .= ($object_return->node->shortcode);
        $url2 .= "/?__a=1";
        echo "{$url2}\n";
        $json2 = json_decode(file_get_contents($url2), true);   //En lugar de obtener un objeto se obtiene un array asociativo
       
        //medidas de la foto o video
        $height = $json2['graphql']['shortcode_media']['dimensions']['height']."\n";
        echo "{$height}\n";
        $width = $json2['graphql']['shortcode_media']['dimensions']['width']."\n";
        echo "{$width}\n";
        //texto recordar que es una lista
        $texto = $json2['graphql']['shortcode_media']['edge_media_to_caption']['edges']['0']['node']['text']."\n";
        echo "{$texto}\n";
        //cantidad de comentarios
        $numeroComentarios = $json2['graphql']['shortcode_media']['edge_media_to_parent_comment']['count']."\n";
        echo "{$numeroComentarios}\n";

        //comentarios desabilitados
        $desabilitadosComentarios = ($json2['graphql']['shortcode_media']['comments_disabled'] === "False") ? false : true;
        echo "{$desabilitadosComentarios}\n";
        $commenting_disabled_for_viewer = ($json2['graphql']['shortcode_media']['commenting_disabled_for_viewer'] === "False") ? false : true;
        echo "{$commenting_disabled_for_viewer}\n";


        //Hora y dia
        $HorayDia = $json2['graphql']['shortcode_media']['taken_at_timestamp']."\n";
        echo "{$HorayDia}\n";
        //Cantidad de likes
        $numLikes = $json2['graphql']['shortcode_media']['edge_media_preview_like']['count']."\n";
        echo "{$numLikes}\n";
        //Location
        $locationid = $json2['graphql']['shortcode_media']['location']['id']."\n";
        echo "{$locationid}\n";
        $locationName = $json2['graphql']['shortcode_media']['location']['name']."\n";
        echo "{$locationName}\n";
        $locationAdress = $json2['graphql']['shortcode_media']['location']['address_json']."\n";
        echo "{$locationAdress}\n";

        //propietario
        $propietarioID = $json2['graphql']['shortcode_media']['owner']['id']."\n";
        echo "{$propietarioID}\n";
        $propietarioVerificado = ($json2['graphql']['shortcode_media']['owner']['is_verified'] === "False") ? false : true;
        echo "{$propietarioVerificado}\n";
        $propietarioUsername = $json2['graphql']['shortcode_media']['owner']['username']."\n";
        echo "{$propietarioUsername}\n";
        $full_name = $json2['graphql']['shortcode_media']['owner']['full_name']."\n";
        echo "{$full_name}\n";
        $propietarioVerificado = ($json2['graphql']['shortcode_media']['owner']['is_private'] === "False") ? false : true;
        echo "{$propietarioPrivado}\n";
        $propietarioPosteos = $json2['graphql']['shortcode_media']['owner']['edge_owner_to_timeline_media']['count']."\n";
        echo "{$propietarioPosteos}\n";
        $propietarioCantSeguidores = $json2['graphql']['shortcode_media']['owner']['edge_followed_by']['count']."\n";
        echo "{$propietarioCantSeguidores}\n";
        //es un Anuncio?
        $esanuncio = ($json2['graphql']['shortcode_media']['is_ad'] === "False") ? false : true;
        echo "{$propietarioID}\n";
        $is_video = ($json2['graphql']['shortcode_media']['is_video'] === "False") ? false : true;

        $esteesvideo = ($json2['graphql']['shortcode_media']['is_video'] === "False") ? "a" : "b";
        $imagenContenido = $json2['graphql']['shortcode_media']['accessibility_caption']."\n";

        $carrusel = $json2['graphql']['shortcode_media']['edge_sidecar_to_children']['edges']."\n";
        $cantidadFotosCarrusel = count($carrusel);
        $cantidadFotosCarrusel2 = array_count_values($carrusel);


        //si es video
        if($json2['graphql']['shortcode_media']['is_video'] === "False"){
       
            //contenido de la imagen (solo foto normal, carrusel no tiene)
           

         } else {
       
            //es un video o un IGT?
            $tipodeVideo = $json2['graphql']['shortcode_media']['product_type']."\n";
            echo "{$tipodeVideo}\n";
            //titulo
            $tituloVideo = $json2['graphql']['shortcode_media']['title']."\n";
            echo "{$tituloVideo}\n";
            //duracion
            $DuracionVideo = $json2['graphql']['shortcode_media']['video_duration']."\n";
            echo "{$DuracionVideo}\n";
            //cantidad de visitas
            $visitas = $json2['graphql']['shortcode_media']['video_view_count']."\n";
            echo "{$visitas}\n";
         }



       
       
       
        //Ahora full_name y followed_by contienen los datos deseados
        fwrite($file, "altura: ".$height);
        fwrite($file,"\n");
        fwrite($file, "ancho: ".$width);
        fwrite($file,"\n");
        fwrite($file, "texto: ".$texto);
        fwrite($file,"\n");
        fwrite($file, "fueEditado: ".$IsEdited);
        fwrite($file,"\n");
        fwrite($file, "NumdeComentarios: ".$numeroComentarios);
        fwrite($file,"\n");
        fwrite($file, "desabilitadosComentarios: ".$desabilitadosComentarios);
        fwrite($file,"\n");
        fwrite($file, "commenting_disabled_for_viewer: ".$commenting_disabled_for_viewer);
        fwrite($file,"\n");
        fwrite($file, "HorayDia: ".$HorayDia);
        fwrite($file,"\n");
        fwrite($file, "NumeroDeLikes: ".$numLikes);
        fwrite($file,"\n");

        fwrite($file, "locationid: ".$locationid);
        fwrite($file,"\n");
        fwrite($file, "locationName: ".$locationName);
        fwrite($file,"\n");
        fwrite($file, "locationAdress: ".$locationAdress);
        fwrite($file,"\n");

        fwrite($file, "propietarioID: ".$propietarioID);
        fwrite($file,"\n");
        fwrite($file, "propietarioVerificado: ".$propietarioVerificado);
        fwrite($file,"\n");
        fwrite($file, "propietarioUsername: ".$propietarioUsername);
        fwrite($file,"\n");
        fwrite($file, "full_name: ".$full_name);
        fwrite($file,"\n");
        fwrite($file, "propietarioPrivado: ".$propietarioPrivado);
        fwrite($file,"\n");
        fwrite($file, "propietarioPosteos: ".$propietarioPosteos);
        fwrite($file,"\n");
        fwrite($file, "propietarioCantSeguidores: ".$propietarioCantSeguidores);
        fwrite($file,"\n");
        fwrite($file, "esanuncio: ".$esanuncio);
        fwrite($file,"\n");

        //aca se divide entre videos o no
        fwrite($file, "is_video: ".$is_video);
        fwrite($file,"\n");
        fwrite($file, "esteesvideo: ".$esteesvideo);
        fwrite($file,"\n");

        //primero las fotos y los carruseles
        fwrite($file, "imagenContenido: ".$imagenContenido);
        fwrite($file,"\n");
        fwrite($file, "carrusel: ". $carrusel);
        fwrite($file,"\n");
        fwrite($file, "cantidadFotosCarrusel: ". $cantidadFotosCarrusel);
        fwrite($file,"\n");
        fwrite($file, "cantidadFotosCarrusel2: ". $cantidadFotosCarrusel2);
        fwrite($file,"\n");

        //ahora los videos
        fwrite($file, "tipodeVideo: ".$tipodeVideo);
        fwrite($file,"\n");
        fwrite($file, "tituloVideo: ".$tituloVideo);
        fwrite($file,"\n");
        fwrite($file, "DuracionVideo: ".$DuracionVideo);
        fwrite($file,"\n");
        fwrite($file, "visitas: ".$visitas);
        fwrite($file,"\n");


    }

    fclose($file);
    // Deben modificar la variable $URL y acceder correctamente a ella
    if(!$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->has_next_page) break;
    $url = $baseUrl.'&max_id='.$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->end_cursor;
}

Hola @lemos.ema, paso a ayudarte un poco y disculpa si me equivoco respecto a entender tu duda porque estoy jugando un poco con el tiempo.

Analizando un poco tu código, y más específicamente tu inconveniente, es que estás comparando un valor con un tipo de dato booleano con un valor con un tipo de dato de cadena, usan el operador de triple igualdad "===", éste dará como resultado 'true' sí el valor y el tipo de dato a comparar son iguales. Básicamente es igual a su hermano, el operador de doble igualdad típico "==" pero no lo convierte a un tipo de dato válido al menos que sea válido.

Por ejemplo:

Abrímos un consola de php interactiva para ver mejor el resultado:

Código: bash
php -a


Y hay colocamos:

Código: php
 // Usemos primero el operador de doble igualdad
echo json_encode(1 == 1); // resultado: true
echo json_encode("1" == 1); // resultado: true
echo json_encode(1 == "1"); // Lo mismo de arriba

// Ahora usamos el operador de triple igualdad
echo json_encode(1 === 1); // resultado: true
echo json_encode("1" === 1); // resultado: false
echo json_encode(1 === "1"); // resultado: false


Nota #1: Uso la función "json_encode" para apreciar mejor el resultado, ya que si usamos un simple "echo" o "print" no se mostraría debído a que los resultados posibles serían 'true' y 'false'.
Nota #2: Menciono mucho operador de "triple igualdad" y "doble igualdad" es porque se usando triples y dobles signos de igualdad (=), pero en realidad se llaman por igual con una función diferente que ya la explicaré a continuación.

Como puedes apreciar en la primera sección todo da como resultado "true" en vez de "false", porque si se usa "==" en vez de "===" se convertirán (en caso de que se detecte) a tipos de datos válidos. O sea, que si tenemos "1" y usamos "==" se convertirá en un entero, por lo que si el otro valor a comparar es igual daría como resultado "true". Éso no pasaría con "===" ya que no lo convierte, pero aun luego de esa explicación te cito esto de la misma documentación:

CitarSi se compara un número con un string o la comparación implica strings numéricos, entonces cada string es convertido en un número y la comparación realizada numéricamente. Estas reglas también se aplican a la sentencia switch. La conversión de tipo no tiene lugar cuando la comparación es === o !== ya que esto involucra comparar el tipo así como el valor.
Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ah, además que estás colocando el primer carácter en una mayúcula "False", hay que respetar mayúsculas y minúsculas, pero tranquilo, es sencillo de corregir  ;D

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Hola Lemos,

De una forma rápida, entiendo que quieres saber si es video o no. Pude ver en la respuesta de Instagram que te retorna valores booleanos pero en minúsculas. Lo único que deberías cambiar es el "False" por el "false".

Código: php
<?php
ini_set('max_execution_time', 0);
$baseUrl = "https://www.instagram.com/explore/tags/comida/?__a=1";
$url = $baseUrl;
$baseUrl2 = "https://www.instagram.com/p/";
$url2 = $baseUrl2;

while(1) {
    $file = fopen("links.txt","a");
    $json = (object) json_decode(file_get_contents($url));
    foreach($json->{'graphql'}->hashtag->edge_hashtag_to_media->edges as $object_return){
        var_dump($object_return->node->shortcode);
        echo "{$object_return->node->shortcode}\n";
        fwrite($file, $object_return->node->shortcode);
        fwrite($file,"\n");
        $url2 = $baseUrl2;  //Aqui se resetea la variable
        $url2 .= ($object_return->node->shortcode);
        $url2 .= "/?__a=1";
        echo "{$url2}\n";
        $json2 = json_decode(file_get_contents($url2), true);   //En lugar de obtener un objeto se obtiene un array asociativo
       
        //medidas de la foto o video
        $height = $json2['graphql']['shortcode_media']['dimensions']['height']."\n";
        echo "{$height}\n";
        $width = $json2['graphql']['shortcode_media']['dimensions']['width']."\n";
        echo "{$width}\n";
        //texto recordar que es una lista
        $texto = $json2['graphql']['shortcode_media']['edge_media_to_caption']['edges']['0']['node']['text']."\n";
        echo "{$texto}\n";
        //cantidad de comentarios
        $numeroComentarios = $json2['graphql']['shortcode_media']['edge_media_to_parent_comment']['count']."\n";
        echo "{$numeroComentarios}\n";

        //comentarios desabilitados
        $desabilitadosComentarios = ($json2['graphql']['shortcode_media']['comments_disabled'] === "False") ? false : true;
        echo "{$desabilitadosComentarios}\n";
        $commenting_disabled_for_viewer = ($json2['graphql']['shortcode_media']['commenting_disabled_for_viewer'] === "False") ? false : true;
        echo "{$commenting_disabled_for_viewer}\n";


        //Hora y dia
        $HorayDia = $json2['graphql']['shortcode_media']['taken_at_timestamp']."\n";
        echo "{$HorayDia}\n";
        //Cantidad de likes
        $numLikes = $json2['graphql']['shortcode_media']['edge_media_preview_like']['count']."\n";
        echo "{$numLikes}\n";
        //Location
        $locationid = $json2['graphql']['shortcode_media']['location']['id']."\n";
        echo "{$locationid}\n";
        $locationName = $json2['graphql']['shortcode_media']['location']['name']."\n";
        echo "{$locationName}\n";
        $locationAdress = $json2['graphql']['shortcode_media']['location']['address_json']."\n";
        echo "{$locationAdress}\n";

        //propietario
        $propietarioID = $json2['graphql']['shortcode_media']['owner']['id']."\n";
        echo "{$propietarioID}\n";
        $propietarioVerificado = ($json2['graphql']['shortcode_media']['owner']['is_verified'] === "False") ? false : true;
        echo "{$propietarioVerificado}\n";
        $propietarioUsername = $json2['graphql']['shortcode_media']['owner']['username']."\n";
        echo "{$propietarioUsername}\n";
        $full_name = $json2['graphql']['shortcode_media']['owner']['full_name']."\n";
        echo "{$full_name}\n";
        $propietarioVerificado = ($json2['graphql']['shortcode_media']['owner']['is_private'] === "False") ? false : true;
        echo "{$propietarioPrivado}\n";
        $propietarioPosteos = $json2['graphql']['shortcode_media']['owner']['edge_owner_to_timeline_media']['count']."\n";
        echo "{$propietarioPosteos}\n";
        $propietarioCantSeguidores = $json2['graphql']['shortcode_media']['owner']['edge_followed_by']['count']."\n";
        echo "{$propietarioCantSeguidores}\n";
        //es un Anuncio?
        $esanuncio = ($json2['graphql']['shortcode_media']['is_ad'] === "False") ? false : true;
        echo "{$propietarioID}\n";
        $is_video = ($json2['graphql']['shortcode_media']['is_video'] === "false") ? false : true;

        $esteesvideo = ($json2['graphql']['shortcode_media']['is_video'] === "false") ? "a" : "b";
        $imagenContenido = $json2['graphql']['shortcode_media']['accessibility_caption']."\n";

        $carrusel = $json2['graphql']['shortcode_media']['edge_sidecar_to_children']['edges']."\n";
        $cantidadFotosCarrusel = count($carrusel);
        $cantidadFotosCarrusel2 = array_count_values($carrusel);


        //si es video
        if($json2['graphql']['shortcode_media']['is_video'] === "false"){
       
            //contenido de la imagen (solo foto normal, carrusel no tiene)
           

         } else {
       
            //es un video o un IGT?
            $tipodeVideo = $json2['graphql']['shortcode_media']['product_type']."\n";
            echo "{$tipodeVideo}\n";
            //titulo
            $tituloVideo = $json2['graphql']['shortcode_media']['title']."\n";
            echo "{$tituloVideo}\n";
            //duracion
            $DuracionVideo = $json2['graphql']['shortcode_media']['video_duration']."\n";
            echo "{$DuracionVideo}\n";
            //cantidad de visitas
            $visitas = $json2['graphql']['shortcode_media']['video_view_count']."\n";
            echo "{$visitas}\n";
         }



       
       
       
        //Ahora full_name y followed_by contienen los datos deseados
        fwrite($file, "altura: ".$height);
        fwrite($file,"\n");
        fwrite($file, "ancho: ".$width);
        fwrite($file,"\n");
        fwrite($file, "texto: ".$texto);
        fwrite($file,"\n");
        fwrite($file, "fueEditado: ".$IsEdited);
        fwrite($file,"\n");
        fwrite($file, "NumdeComentarios: ".$numeroComentarios);
        fwrite($file,"\n");
        fwrite($file, "desabilitadosComentarios: ".$desabilitadosComentarios);
        fwrite($file,"\n");
        fwrite($file, "commenting_disabled_for_viewer: ".$commenting_disabled_for_viewer);
        fwrite($file,"\n");
        fwrite($file, "HorayDia: ".$HorayDia);
        fwrite($file,"\n");
        fwrite($file, "NumeroDeLikes: ".$numLikes);
        fwrite($file,"\n");

        fwrite($file, "locationid: ".$locationid);
        fwrite($file,"\n");
        fwrite($file, "locationName: ".$locationName);
        fwrite($file,"\n");
        fwrite($file, "locationAdress: ".$locationAdress);
        fwrite($file,"\n");

        fwrite($file, "propietarioID: ".$propietarioID);
        fwrite($file,"\n");
        fwrite($file, "propietarioVerificado: ".$propietarioVerificado);
        fwrite($file,"\n");
        fwrite($file, "propietarioUsername: ".$propietarioUsername);
        fwrite($file,"\n");
        fwrite($file, "full_name: ".$full_name);
        fwrite($file,"\n");
        fwrite($file, "propietarioPrivado: ".$propietarioPrivado);
        fwrite($file,"\n");
        fwrite($file, "propietarioPosteos: ".$propietarioPosteos);
        fwrite($file,"\n");
        fwrite($file, "propietarioCantSeguidores: ".$propietarioCantSeguidores);
        fwrite($file,"\n");
        fwrite($file, "esanuncio: ".$esanuncio);
        fwrite($file,"\n");

        //aca se divide entre videos o no
        fwrite($file, "is_video: ".$is_video);
        fwrite($file,"\n");
        fwrite($file, "esteesvideo: ".$esteesvideo);
        fwrite($file,"\n");

        //primero las fotos y los carruseles
        fwrite($file, "imagenContenido: ".$imagenContenido);
        fwrite($file,"\n");
        fwrite($file, "carrusel: ". $carrusel);
        fwrite($file,"\n");
        fwrite($file, "cantidadFotosCarrusel: ". $cantidadFotosCarrusel);
        fwrite($file,"\n");
        fwrite($file, "cantidadFotosCarrusel2: ". $cantidadFotosCarrusel2);
        fwrite($file,"\n");

        //ahora los videos
        fwrite($file, "tipodeVideo: ".$tipodeVideo);
        fwrite($file,"\n");
        fwrite($file, "tituloVideo: ".$tituloVideo);
        fwrite($file,"\n");
        fwrite($file, "DuracionVideo: ".$DuracionVideo);
        fwrite($file,"\n");
        fwrite($file, "visitas: ".$visitas);
        fwrite($file,"\n");


    }

    fclose($file);
    // Deben modificar la variable $URL y acceder correctamente a ella
    if(!$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->has_next_page) break;
    $url = $baseUrl.'&max_id='.$json->{'graphql'}->hashtag->edge_hashtag_to_media->page_info->end_cursor;
}


Me explico, la línea de código de "$json2['graphql']['shortcode_media']['is_video'] " te retorna "false" o "true", pero tú estabas comparando "False". Ahí estaba el error.

Te recomiendo que nombres las variables de una forma más entendible y así irás haciendo tu código más limpio.

Un saludo.
Become the change you seek in the world. -Gandhi.