返回

告别过去:用 Python 轻松删除 QQ 空间陈年动态

后端

时光荏苒,转眼间,QQ 空间已陪伴我们走过了许多年。在这个承载着青春记忆的虚拟天地里,我们记录了成长的点滴,分享了喜怒哀乐。然而,随着时间的推移,空间中那些曾经发表的动态,或许已成为我们心中难以言说的怀旧。

对于那些不再使用的 QQ 账号,或许删除空间动态是一种告别过去、轻装上阵的方式。但如果动态数量庞大,手动删除显然十分耗时费力。因此,利用 Python 编写一个自动化脚本,不失为一种省时省力的选择。

获取所有动态 ID

要删除所有动态,首先需要获取所有动态的 ID。我们可以使用 QQ 空间的 API 来实现这一点。这里提供一个 Python 函数,用于获取指定页数的所有动态 ID:

import requests
import json

def get_dynamic_ids(page):
  url = "https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6"
  params = {
    "uin": "你的 QQ 号",
    "ftype": 0,
    "sort": 0,
    "pos": page * 20,
    "num": 20,
    "replynum": 1,
    "g_tk": "你的 g_tk"  # 获取 g_tk 的方法可参考其他资料
  }
  response = requests.get(url, params=params)
  data = json.loads(response.text)
  dynamic_ids = [dynamic["tid"] for dynamic in data["msglist"]]
  return dynamic_ids

删除动态

获取到动态 ID 后,即可使用另一个 API 来删除动态:

def delete_dynamic(tid):
  url = "https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_delete_v6"
  params = {
    "tid": tid,
    "reason": "",  # 删除原因,可以不填
    "g_tk": "你的 g_tk"
  }
  response = requests.get(url, params=params)
  return response.status_code == 200

自动化脚本

现在,我们可以将这两个函数组合成一个自动化脚本,循环删除所有动态:

import time

def delete_all_dynamics():
  page = 0
  while True:
    dynamic_ids = get_dynamic_ids(page)
    if not dynamic_ids:
      break
    for dynamic_id in dynamic_ids:
      delete_dynamic(dynamic_id)
    time.sleep(1)  # 防止被封禁,适当延迟一下
    page += 1

delete_all_dynamics()

结语

告别过去,才能拥抱未来。利用 Python 编写自动化脚本,轻松删除 QQ 空间陈年动态,不仅节省了时间和精力,更让我们得以轻装上阵,迈向崭新的征程。愿我们都能在时光的洪流中,留下有意义的印记,而那些曾经的稚嫩与青涩,就让它们随风而逝吧。