today tener seguidores populares para mas likes hashtags conseguir instagram instagram-api

seguidores - hashtags para tener 100 likes en instagram



¿Dónde encuentro el ID de medios de Instagram de una imagen? (12)

Estoy buscando el MediaID de una imagen de Instagram que se ha subido. Debe parecer

1234567894561231236_33215652

He descubierto que el último conjunto de enteros son los usersID

Por ejemplo: este es el enlace para la imagen directamente, sin embargo, ¿no veo un mediaID en el formato correcto?

http://distilleryimage11.ak.instagram.com/d33aafc8b55d11e2a66b22000a9f09de_7.jpg

Si bien este es el enlace

http://instagram.com/p/Y7GF-5vftL/

No deseo usar la API, ya que todo lo que necesito es el MediaID de una imagen seleccionada.


Aquí hay una manera aún mejor:

No hay llamadas API! Y lancé la conversión de un media_id a un shortcode como un bono adicional.

Basado en increíble trabajo de para averiguar la conversión. Nathan''s work Nathan''s convirtiendo base10 a base64 en php. Y rgbflawed''s work rgbflawed''s convierte de nuevo a la inversa (con un alfabeto modificado). #Esfuerzo de equipo

function mediaid_to_shortcode($mediaid){ if(strpos($mediaid, ''_'') !== false){ $pieces = explode(''_'', $mediaid); $mediaid = $pieces[0]; $userid = $pieces[1]; } $alphabet = ''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_''; $shortcode = ''''; while($mediaid > 0){ $remainder = $mediaid % 64; $mediaid = ($mediaid-$remainder) / 64; $shortcode = $alphabet{$remainder} . $shortcode; }; return $shortcode; } function shortcode_to_mediaid($shortcode){ $alphabet=''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_''; $mediaid = 0; foreach(str_split($shortcode) as $letter) { $mediaid = ($mediaid*64) + strpos($alphabet, $letter); } return $mediaid; }


Aquí hay una mejor manera:

http://api.instagram.com/oembed?url=http://instagram.com/p/Y7GF-5vftL/

Procese como un objeto json y puede extraer fácilmente el ID de medios de él ---

Por ejemplo, en PHP

$api = file_get_contents("http://api.instagram.com/oembed?url=http://instagram.com/p/Y7‌​GF-5vftL/"); $apiObj = json_decode($api,true); $media_id = $apiObj[''media_id''];

Por ejemplo, en JS

$.ajax({ type: ''GET'', url: ''http://api.instagram.com/oembed?callback=&url=http://instagram.com/p/Y7GF-5vftL‌​/'', cache: false, dataType: ''jsonp'', success: function(data) { try{ var media_id = data[0].media_id; }catch(err){} } });


Aquí está la solución de Python para hacer esto sin una llamada de API.

def media_id_to_code(media_id): alphabet = ''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'' short_code = '''' while media_id > 0: remainder = media_id % 64 media_id = (media_id-remainder)/64 short_code = alphabet[remainder] + short_code return short_code def code_to_media_id(short_code): alphabet = ''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'' media_id = 0; for letter in short_code: media_id = (media_id*64) + alphabet.index(letter) return media_id


Así que la "Mejor manera" más votada está un poco depreciada, así que aquí está mi edición y otras soluciones:

Javascript + jQuery

$.ajax({ type: ''GET'', url: ''http://api.instagram.com/oembed?callback=&url=''+Url, //You must define ''Url'' for yourself cache: false, dataType: ''json'', jsonp: false, success: function (data) { var MediaID = data.media_id; } });

PHP

$your_url = "" //Input your url $api = file_get_contents("http://api.instagram.com/oembed?callback=&url=" . your_url); $media_id = json_decode($api,true)[''media_id''];

Entonces, esta es solo una versión actualizada del código de @George y actualmente está funcionando. Sin embargo, hice otras soluciones, y algunas incluso evitan una solicitud ajax:

Solución Shortcode Ajax

Ciertas URL de Instagram utilizan una sintaxis de URL acortada. Esto permite que el cliente solo use el código abreviado en lugar de la identificación de medios si se solicita correctamente.

Un ejemplo de url de código abreviado se ve así: https://www.instagram.com/p/Y7GF-5vftL/

El Y7GF-5vftL es su shortcode para la imagen.

Usando Regexp:

var url = "https://www.instagram.com/p/Y7GF-5vftL/"; //Define this yourself var Key = /p//(.*?)//$/.exec(url)[1];

En el mismo ámbito, Key contendrá su shortcode. Ahora para solicitar, digamos, una imagen de baja resolución con este shortcode, harías algo como lo siguiente:

$.ajax({ type: "GET", dataType: "json", url: "https://api.instagram.com/v1/media/shortcode/" + Key + "?access_token=" + access_token, //Define your ''access_token'' success: function (RawData) { var LowResURL = RawData.data.images.low_resolution.url; } });

Hay mucha otra información útil, incluida la identificación de medios, en la estructura RawData devuelta. Iniciar sesión o buscar la documentación de la API para ver.

Solución de conversión de código corto

¡Puedes convertir tu shortcode a la ID con bastante facilidad! Aquí hay una manera simple de hacerlo en javascript:

function shortcodeToInstaID(Shortcode) { var char; var id = 0; var alphabet = ''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_''; for (var i = 0; i < Shortcode.length; i++) { char = Shortcode[i]; id = (id * 64) + alphabet.indexOf(char); } return id; }

Nota: Si desea una solución node.js más robusta, o si desea ver cómo la volvería a convertir, consulte el módulo @ Slang''s el npm .

Solución de página completa

¿Y qué pasa si tiene la URL de una página de Instagram completa como: https://www.instagram.com/p/BAYYJBwi0Tssh605CJP2bmSuRpm_Jt7V_S8q9A0/

Bueno, realmente puedes leer el HTML para encontrar una meta propiedad que contenga el ID de medios. También hay un par de otros algoritmos que puede realizar en la propia URL para obtenerla, pero creo que eso requiere demasiado esfuerzo para que sea sencillo. Consulta la etiqueta meta al:ios:url o itera a través del html. Dado que la lectura de los metatags se publica en todas partes, te mostraré cómo iterar.

NOTA: Esto es un poco inestable y es vulnerable a ser parcheado. Este método NO funciona en una página que utiliza un cuadro de vista previa. Por lo tanto, si le asigna el código HTML actual cuando hace clic en una imagen en el perfil de alguien, esto se romperá y devolverá una ID de medios incorrecta.

function getMediaId(HTML_String) { var MediaID = ""; var e = HTML_String.indexOf("al:ios:url") + 42; //HTML_String is a variable that contains all of the HTML text as a string for the current document. There are many different ways to retrieve this so look one up. for (var i = e; i <= e + 100; i++) { //100 should never come close to being reached if (request.source.charAt(i) == "/"") break; MediaID += request.source.charAt(i); } return MediaID; }

Y ahí van, un montón de maneras diferentes de usar la API de Instagram para obtener una identificación de medios. Espero que uno arregle vuestras luchas.


De hecho, puede derivar el MediaId del último segmento del enlace mediante un método que escribí aquí: http://carrot.is/coding/instagram-ids . Funciona al asignar el segmento de la URL por códigos de caracteres y convertir el ID en un número base 64.

Por ejemplo, dado el enlace que mencionó ( http://instagram.com/p/Y7GF-5vftL ), obtenemos el último segmento ( Y7GF-5vftL ) y luego lo Y7GF-5vftL en códigos de caracteres usando el alfabeto base 64 url-safe ( 24:59:6:5:62:57:47:31:45:11_64 ). A continuación, convertimos este número base64 en base10 ( 448979387270691659 ).

Si agrega su ID de usuario después de un _ , obtiene el ID completo en el formulario que especificó, pero dado que el ID de Media es único sin el ID de usuario, puede omitir el ID de usuario de la mayoría de las solicitudes.

Finalmente, hice un módulo Node.js llamado instagram-id-to-url-segment para automatizar esta conversión:

convert = require(''instagram-id-to-url-segment''); instagramIdToUrlSegment = convert.instagramIdToUrlSegment; urlSegmentToInstagramId = convert.urlSegmentToInstagramId; instagramIdToUrlSegment(''448979387270691659''); // Y7GF-5vftL urlSegmentToInstagramId(''Y7GF-5vftL''); // 448979387270691659


En JS puro (siempre que su navegador pueda manejar XHR, que todos los navegadores principales [incluido IE> 6] pueden):

function igurlretrieve(url) { var urldsrc = "http://api.instagram.com/oembed?url=" + url; //fetch data from URL data source var x = new XMLHttpRequest(); x.open(''GET'', urldsrc, true); x.send(); //load resulting JSON data as JS object var urldata = JSON.parse(x.responseText); //reconstruct data as "instagram://" URL that can be opened in iOS app var reconsturl = "instagram://media?id=" + urldata.media_id; return reconsturl; }

Siempre que este sea su objetivo, simplemente abra la página en la aplicación iOS de Instagram, que es exactamente de lo que se trata, debería hacerlo, especialmente si no quiere tener que soportar los aranceles de licencia.


Haga clic derecho en una foto y abra en una nueva pestaña / ventana. Haga clic derecho en inspect element . Buscar:

instagram: // media? id =

Esto te dará:

instagram: // media? id = ############# /// el ID

La construcción completa de id desde

photoID_userID

Para obtener la identificación del usuario, busque:

instapp: owner_user_id estará en content =


Lo mismo que puedes implementar en Python-

import requests,json def get_media_id(media_url): url = ''https://api.instagram.com/oembed/?callback=&url='' + media_url response = requests.get(url).json() print(response[''media_id'']) get_media_id(''MEDIA_URL'')



Puede utilizar la API de medios de shortcode desde instagram. Si usa php, puede usar el siguiente código para obtener el shortcode de la URL de la imagen:

$matches = []; preg_match(''/instagram/.com//p//([^//]*)/i'', $url, $matches); if (count($matches) > 1) { $shortcode = $matches[1]; }

Luego envíe una solicitud a la API usando su token de acceso (Reemplace ACCESS-TOKEN con su token)

$apiUrl = sprintf("https://api.instagram.com/v1/media/shortcode/%s?access_token=ACCESS-TOKEN", $shortcode);


Solución de análisis de código corto Swift 4

private static func instagramDeepLinkFromHTTPLink(_ link: String) -> String? { guard let shortcode = link.components(separatedBy: "/").last else { return nil } // algorithm from https://.com/a/37246231/337934 let alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" var mediaId: Int = 0 for (_, char) in shortcode.enumerated() { guard let index = alphabet.index(of: char) else { continue } mediaId = (mediaId * 64) + index.encodedOffset } return "instagram://media?id=/(mediaId)" }


Su ID de medios es: 448979387270691659_45818965 Esta es la forma de obtenerlo.

  1. Vaya a instgram.com/username.
  2. Haga clic en la foto que desea el ID de.
  3. (Instrucciones de Chrome) haga clic derecho en la foto (debe ser una imagen emergente)
  4. Inspeccionar elemento
  5. Busque en el texto seleccionado, debería ver algo como esto. photo448979387270691659_45818965

Debe haber su identificación con foto.

Por alguna razón, esto solo parece funcionar con la ventana emergente, y no con la URL de la imagen real.