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 .
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;
}