Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: lemos.ema en Mayo 28, 2020, 08:24:20 PM

Título: [SOLUCIONADO] Me ayudan con este PhP
Publicado por: lemos.ema en Mayo 28, 2020, 08:24:20 PM
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:
<?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
Título: Re:Me ayudan con este PhP
Publicado por: d3adly en Mayo 29, 2020, 02:30:11 AM
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 https://www.instagram.com/p/.
Y segun https://www.php.net/json_decode (https://www.php.net/json_decode) le pasas el parametro true para obtener un array asociativo en lugar de un objeto
Código (php) [Seleccionar]

<?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.
Título: Re:Me ayudan con este PhP
Publicado por: lemos.ema en Mayo 29, 2020, 12:33:42 PM
Muchisimassssssssssssssssssssssss gracias !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :) voy aprendiendo de a poco
Título: Re:Me ayudan con este PhP
Publicado por: d3adly en Mayo 29, 2020, 06:28:08 PM
Para eso es el foro ayuda mutua  ;)
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: lemos.ema en Mayo 30, 2020, 09:41:58 PM
@d3adly (https://underc0de.org/foro/index.php?action=profile;u=97561)
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
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: d3adly en Mayo 30, 2020, 10:02:01 PM
@lemos.ema

Lo prodrias hacer comparando el valor:
Código (php) [Seleccionar]

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


O en una sola linea
Código (php) [Seleccionar]

$IsEdited = ($json2['graphql']['shortcode_media']['caption_is_edited'] === "False") ? false : true;
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: lemos.ema en Mayo 30, 2020, 10:12:18 PM
veo que me falta mucho para llegar a tu nivel  :( jajaja pero le pongo ganas y eso es lo que importa !
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: d3adly en Mayo 30, 2020, 10:32:18 PM
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.
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: lemos.ema en Junio 01, 2020, 09:08:08 AM
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
$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  :(

<?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;
}
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: DtxdF en Junio 01, 2020, 11:20:44 AM
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) [Seleccionar]
php -a

Y hay colocamos:

Código (php) [Seleccionar]
// 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: www.php.net/manual/es/language.operators.comparison.php

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
Título: Re:[SOLUCIONADO] Me ayudan con este PhP
Publicado por: Mortal_Poison en Junio 01, 2020, 11:30:54 AM
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) [Seleccionar]
<?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.