reddit URL中的字母数字id是什么?

2024-10-01 15:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

reddit URL中的7n5lu是什么

http://www.reddit.com/r/reddit.com/comments/7n5lu/man_can_fly_if_you_watch_one_video_in_2

…它是如何产生的?在

更新: @杰拉尔德,我一开始以为这是对id的混淆。它只是把整数转换成更紧凑的表示。我在想,为什么要这样做?为什么不使用原始整数本身!!在

>>> to36(4000)
'334'
>>> to36(4001)
'335'

Tags: comyouhttpurlifwww整数one
3条回答

这看起来像是线程的唯一id。它很可能用于在数据库中查找线程。在

它是一个整数,以36为基数。id是按顺序生成的。例如,id 89后面的注释是id 8a,等等。在

理论上,评论、帖子、消息、用户和subreddits可以具有相同的ID和计数。你可以通过它们的“全名”来区分它们,它是事物的类型,一个下划线,然后是一个下划线。在

t1是评论,t2是用户,t3是提交,t4是消息,t5是subreddit,t6是奖励,ModAction是主持人操作,ModmailConversation是modmail对话,等等

有关详细信息,请参见the API documentation。在

reddit源代码is available!以下是我发现的生成字符串的方法:

def to_base(q, alphabet):
    if q < 0: raise ValueError, "must supply a positive integer"
    l = len(alphabet)
    converted = []
    while q != 0:
        q, r = divmod(q, l)
        converted.insert(0, alphabet[r])
    return "".join(converted) or '0'

def to36(q):
    return to_base(q, '0123456789abcdefghijklmnopqrstuvwxyz')

在其他地方,在“链接”类下:

^{pr2}$

相关问题 更多 >

    热门问题