FlickrのURL

Flickr(フリッカー)は昔からある写真共有サイト。Yahoo! に買収され,その後 SmugMug に買収された。ImageNet の画像の半分くらいは Flickr から得ている。

Flickr の URL はここに説明されているようにいろいろなタイプがある。

例えば ImageNet で Persian cat を検索して最初に出てくる猫は https://farm1.static.flickr.com/99/276298625_d7b9a004ec.jpg という URL である。この 276298625 が画像 ID である。画像 ID だけで元ページに行く URL は https://flickr.com/photo.gne?id=276298625 である。

Flickr には https://flic.kr/p/... という短縮 URL もある。これについては manufacturing flic.kr style photo URLs で説明されているように最後の部分は画像 ID の Base58 である。画像 ID の Base58 エンコード・デコードは次の Python コードでできる:

alphabet = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"

def encode(n):
    e = ""
    while n != 0:
        e = alphabet[n % 58] + e
        n //= 58
    return e

def decode(e):
    n = 0
    m = 1
    for c in e[::-1]:
        n += m * alphabet.find(c)
        m *= 58
    return n

この仕組みを使えば,画像 ID が 276298625 のページは

print("https://flic.kr/p/" + encode(276298625))

で求められる。https://flic.kr/p/qq6Xp である。


Last modified: