使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)

yizhihongxing

这里对于使用Python进行新浪微博的mid和url互相转换的完整攻略进行详细讲解。

1.前置知识

在进行本文中的操作前,需要了解一些相关的知识:

  • 新浪微博的URL中包含了一个mid的参数,用于唯一标识一条微博,mid是基于62进制编码的。
  • 62进制编码是一种将数值(0-9)、大写字母(A-Z)和小写字母(a-z)全部作为编码字符的进位计数制,共62个字符,将不同进制下的数值之间进行相互转换。

2.将mid转换为url

新浪微博的URL中包含了一个mid参数,可以通过mid参数获取到特定的微博。下面是将mid转换为url的方法:

def mid2url(mid):
    url = 'https://weibo.com/{}/{}'.format(mid[:mid.find('_')], mid[mid.find('_')+1:])
    return url

代码中的mid是需要转化的mid值,url即为对应的微博url。mid中下划线之前的部分为用户uid,下划线之后的部分为每条微博的唯一标识。

下面是mid2url()方法的使用示例:

mid2url('4455014833125967')
Out[2]: 'https://weibo.com/1713926427/G88afj9zX'

在代码中,我们把'4455014833125967'作为输入的mid,最后得到了该微博的url。

3.将url转换为mid

下面是将url转换为mid的方法:

def url2mid(url):
    mid = url[url.rfind('/')+1:]
    mid_10 = 0
    for i, c in enumerate(mid[::-1]):
        mid_10 += (62**i) * TABLE[c]
    return str(mid_10)
TABLE = {
    '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'a': 10, 'b': 11, 'c': 12, 'd': 13, 'e': 14, 'f': 15, 'g': 16,
    'h': 17, 'i': 18, 'j': 19, 'k': 20, 'l': 21, 'm': 22, 'n': 23, 'o': 24, 'p': 25, 'q': 26, 'r': 27, 's': 28, 't': 29, 'u': 30, 'v': 31,
    'w': 32, 'x': 33, 'y': 34, 'z': 35, 'A': 36, 'B': 37, 'C': 38, 'D': 39, 'E': 40, 'F': 41, 'G': 42, 'H': 43, 'I': 44, 'J': 45, 'K': 46,
    'L': 47, 'M': 48, 'N': 49, 'O': 50, 'P': 51, 'Q': 52, 'R': 53, 'S': 54, 'T': 55, 'U': 56, 'V': 57, 'W': 58, 'X': 59, 'Y': 60, 'Z': 61}

在代码中,url是需要转换的微博url。mid即为对应的微博mid。mid_10为10进制数。TABLE是62进制的对应表。

下面是url2mid()方法的使用示例:

url2mid('https://weibo.com/1713926427/G88afj9zX')
Out[3]: '4455014833125967'

4.总结

以上就是将新浪微博的mid和url互相转换的完整攻略。可以根据上述方法很方便的实现这个功能,尤其是mid2url()方法,可以通过传入mid值直接返回指定微博的url。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算) - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • python实现AES和RSA加解密的方法

    以下是关于 Python 实现 AES 和 RSA 加解密的完整攻略: 什么是 AES 和 RSA 加解密 AES(Advanced Encryption Standard,高级加密标准)和 RSA(Rivest–Shamir–Adleman)都是常用的加密算法。其中,AES 是对称加密算法,加密和解密使用同一个密钥,而 RSA 是非对称加密算法,加密和解密…

    python 2023年6月3日
    00
  • Python数据分析之获取双色球历史信息的方法示例

    Python数据分析之获取双色球历史信息的方法示例 在本攻略中,我们将介绍如何使用Python获取双色球历史信息。双色球是一种中国彩票游戏,每周开奖两次。我们可以使用Python从官方网站获取历史开奖信息,并进行数据分析和可视化。 步骤1:安装必要的库 在使用Python获取双色球历史信息之前,我们需要安装一些必要的库。使用以下命令可以安装这些库: pip …

    python 2023年5月15日
    00
  • Python自动爬取图片并保存实例代码

    Python自动爬取图片并保存实例代码 本攻略将介绍如何使用Python自动爬取图片并保存到本地。我们将使用Python的requests库和BeautifulSoup库来获取和解析网页内容,使用os库和urllib库来创建和保存图片文件。 获取图片链接 我们可以使用Python的requests库和BeautifulSoup库来获取图片链接。以下是一个示例…

    python 2023年5月15日
    00
  • 跟老齐学Python之一个免费的实验室

    跟老齐学Python之一个免费的实验室 简介 这是一篇关于如何使用老齐的免费 Python 实验室的攻略。老齐是一位非常有经验的 Python 开发者,他开设了一个免费的 Python 实验室,可以让学习者在实践中掌握 Python 技能。在这个实验室中,你可以练习各种 Python 编程实践,包括基本语法,函数,类,模块,以及一些常用的算法和数据结构。 步…

    python 2023年5月30日
    00
  • Python3读取文件常用方法实例分析

    以下是针对“Python3读取文件常用方法实例分析”的完整攻略: Python3读取文件常用方法实例分析 1. 文件读取基础知识 在Python中,我们可以使用内置的open()函数来打开一个文件,然后读取或者写入其中的内容。open()函数的第一个参数是文件的路径,第二个参数是以何种模式打开文件,如下: f = open(‘file.txt’, ‘r’) …

    python 2023年6月5日
    00
  • Python基于百度AI实现OCR文字识别

    Python基于百度AI实现OCR文字识别攻略 一、前置条件 注册百度AI,获取API Key和Secret Key 安装 Python3,并安装所需第三方库 requests bash pip install requests 二、百度AI接口调用 导入requests库 python import requests 设置请求url和headers信息 p…

    python 2023年5月18日
    00
  • 运行Python编写的程序方法实例

    以下是关于“运行Python编写的程序方法实例”的详细攻略。 一、准备Python环境 首先,需要确保在电脑上安装了Python环境。如果没有安装,可以从Python官网(https://www.python.org/)下载并安装。 安装完成后,可以通过运行以下命令,在命令行中查看Python版本,以确保Python已经成功安装: python –vers…

    python 2023年5月30日
    00
  • Python groupby()和reduce()

    Python中的groupby()和reduce()都是用于对可迭代对象进行操作的函数。其中,groupby()通常用于按照某个条件对可迭代对象进行分组,将分组后的结果返回为一个迭代器;而reduce()则是用于对可迭代对象的所有元素进行合并操作,返回一个单一的值。下面分别进行详细介绍。 groupby()函数 基本使用方法 groupby()函数的基本使用…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部