Skip to content

Instantly share code, notes, and snippets.

@ohld
Created February 19, 2020 20:14
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ohld/62c2090e43bc0b6cc5e73dcc72c45901 to your computer and use it in GitHub Desktop.
Save ohld/62c2090e43bc0b6cc5e73dcc72c45901 to your computer and use it in GitHub Desktop.
Convert Instagram media URL to media_id
# This is Python port of this Javascript method:
# https://github.com/notslang/instagram-id-to-url-segment/blob/master/lib/index.coffee
url = "https://www.instagram.com/p/B8iwlG9pXHI/"
# ----> use regexp to extract code from url
code = "B8iwlG9pXHI"
charmap = {
'A': '0',
'B': '1',
'C': '2',
'D': '3',
'E': '4',
'F': '5',
'G': '6',
'H': '7',
'I': '8',
'J': '9',
'K': 'a',
'L': 'b',
'M': 'c',
'N': 'd',
'O': 'e',
'P': 'f',
'Q': 'g',
'R': 'h',
'S': 'i',
'T': 'j',
'U': 'k',
'V': 'l',
'W': 'm',
'X': 'n',
'Y': 'o',
'Z': 'p',
'a': 'q',
'b': 'r',
'c': 's',
'd': 't',
'e': 'u',
'f': 'v',
'g': 'w',
'h': 'x',
'i': 'y',
'j': 'z',
'k': 'A',
'l': 'B',
'm': 'C',
'n': 'D',
'o': 'E',
'p': 'F',
'q': 'G',
'r': 'H',
's': 'I',
't': 'J',
'u': 'K',
'v': 'L',
'w': 'M',
'x': 'N',
'y': 'O',
'z': 'P',
'0': 'Q',
'1': 'R',
'2': 'S',
'3': 'T',
'4': 'U',
'5': 'V',
'6': 'W',
'7': 'X',
'8': 'Y',
'9': 'Z',
'-': '$',
'_': '_'
}
def instagram_code_to_media_id(code):
code = "B8iwlG9pXHI"
id = ""
for letter in code:
id += charmap[letter]
alphabet = list(charmap.values())
number = 0
for char in id:
number = number * 64 + alphabet.index(char)
return number
media_id = instagram_code_to_media_id(code)
# media_id == 2243569220713804232 # success
@lucasoal
Copy link

very useful, my friend
thanks!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment