自动删除QQ空间留言 电脑端下载 - 批量操作 pc免费下载

作者 西弗勒斯   2020-05-11 17:09:10

  密码:ev8y

  你是否也有过,想删除QQ空间里某个人的对自己发表的说说或者留言板的全部评论,但又因说说太多,手动查找再删除太过麻烦?OK,我也有这个需求,成品分享给你。

  如果想自己琢磨,源码在文末;如果想直接使用,exe链接在文末。

  一、使用本程序,需要提供4个内容:你的QQ号、对方的名称、g_tk和cookie。

  1、你的QQ号

  就是你的QQ号,复制到conf.json文件

  2、对方的名称

  要删除的对方的备注或昵称(ta在你空间所显示的名称),一般如果你设置了备注,就是备注名;没设置备注,就是他的网名。复制到conf.json文件。可以多个好友,以英文逗号分隔。

  3、g_tk

  a. 首先手动登陆你的QQ空间

  b. 点进“我的主页”

  c. 按F12,选中network(有的浏览器显示是“网络”)

  d. 刷新一下浏览器,点击有html的一项(刷新后选最上面第一个html)

  e. 最下面就有g_tk了,复制到conf.json文件

  界面先不要关

  4、cookie

  g_tk获取完,上面就有cookie,复制到conf.json文件

  二、运行程序

  三、源码

  [Python]纯文本查看复制代码

  import time

  import requests

  import json

  with open('conf.json', 'r', encoding='utf-8') as f:

  content = f.read()

  msg = json.loads(content)

  print(msg)

  # 你的QQ号

  QQ = msg['QQ']

  # 浏览器打开QQ空间,按F12,找到g_tk

  g_tk = msg['g_tk']

  # 要删除的对方的备注或昵称(ta在你空间所显示的名称)

  targetname = msg['name'].split(',')

  # 浏览器打开QQ空间,按F12,找到cookie

  cookie = msg['cookie']

  # 1:删说说的评论;2:删留言板留言;3:1+2

  mode = msg['mode']

  print('@'*60)

  print('>> 你的QQ:', QQ)

  print('>> 对方名称:', targetname)

  print('>> 模式:', mode)

  print('@'*60)

  print('>> 开始运行')

  print()

  headers = {

  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36',

  'cookie': cookie,

  }

  def getcomment():

  delcnt = 0

  delmsg = []

  totalcomment = 20

  pos = 0

  while pos < totalcomment:

  print('#' * 60)

  print(">> 当前位置:", pos)

  url = 'https://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?uin={0}&inCharset=utf-8&outCharset=utf-8&hostUin={0}¬ice=0&sort=0&pos={1}&num=20&cgi_host=https%3A%2F%2Fuser.qzone.qq.com%2Fproxy%2Fdomain%2Ftaotao.qq.com%2Fcgi-bin%2Femotion_cgi_msglist_v6&code_version=1&format=json&need_private_comment=1&g_tk={2}'.format(QQ, pos, g_tk)

  pos += 20

  html = requests.get(url, headers=headers).json()

  totalcomment = int(html['total'])

  print('>> 总共条数:', totalcomment)

  msglist = html['msglist']

  for item in msglist:

  try:

  commentlist = item['commentlist']

  conlist = item['conlist']

  if conlist:

  conlist = conlist[0]['con']

  print(">> 发布的说说:", conlist)

  else:

  print(">> 发布仅为图片")

  topicId = QQ+'_' + item['tid']

  print(">> topicId:", topicId)

  for i in commentlist:

  content = i['content']

  name = i['name']

  createTime = i['createTime']

  commentId = commentlist.index(i)+1

  print(">> 评论{}: ({}){}t{}".format(commentId, createTime, name, content))

  if name in targetname:

  print(">> 删除本条评论")

  delcomment(topicId, commentId)

  delcnt += 1

  delmsg.append(content)

  print()

  except:

  pass

  time.sleep(1)

  print('*' * 60)

  print('共删除条数:', delcnt)

  print('共删除内容:', delmsg)

  print('*' * 60)

  def delcomment(topicId, commentId):

  url = 'https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_delcomment_ugc?g_tk={0}'.format(g_tk)

  data={

  'uin': QQ,

  'hostUin': QQ,

  'topicId': topicId,

  'commentId': commentId,

  'inCharset':'',

  'outCharset':'',

  'ref':'',

  'hostuin': QQ,

  'code_version': '1',

  'format': 'fs',

  'qzreferrer': 'https://user.qzone.qq.com/proxy/domain/qzs.qq.com/qzone/app/mood_v6/html/index.html#mood&g_iframeUser=1&g_iframedescend=1&uin={0}&pfid=2&qz_ver=8&appcanvas=0&qz_style=31¶ms=&entertime=1588985689146&canvastype=&cdn_use_https=1'.format(QQ)

  }

  html = requests.post(url, headers=headers, data=data)

  time.sleep(1)

  html = requests.post(url, headers=headers, data=data)

  if '对不起,原文已经被删除,无法查看' in html.text:

  print('原文已经被删除')

  def get_msgboard():

  start = 0

  total = 10

  delcnt = 0

  delmsg = []

  while start

  print('#' * 60)

  print(">> 当前位置:", start)

  url = 'https://user.qzone.qq.com/proxy/domain/m.qzone.qq.com/cgi-bin/new/get_msgb?uin={0}&hostUin={0}&num=10&start={1}&hostword=0&essence=1&r=0.2554088508533668&iNotice=0&inCharset=utf-8&outCharset=utf-8&format=json&ref=qzone&g_tk={2}'.format(QQ, start, g_tk)

  start += 10

  html = requests.get(url, headers=headers).json()

  data = html['data']

  total = data['total']

  print('>> 总共条数:', total)

  commentList = data['commentList']

  for item in commentList:

  id = item['id']

  nickname = item['nickname']

  uin = item['uin']

  ubbContent = item['ubbContent']

  pubtime = item['pubtime']

  print(">> 留言: ({}){}t{}".format(pubtime, nickname, ubbContent))

  if nickname in targetname:

  print(">> 删除本条留言")

  del_msgboard(id,uin)

  delcnt += 1

  delmsg.append(ubbContent)

  time.sleep(1)

  print('*' * 60)

  print('共删除条数:', delcnt)

  print('共删除内容:', delmsg)

  print('*' * 60)

  def del_msgboard(targetQQ,uin):

  url = 'https://h5.qzone.qq.com/proxy/domain/m.qzone.qq.com/cgi-bin/new/del_msgb?g_tk={}'.format(g_tk)

  data={

  'hostUin': QQ,

  'idList': uin,

  'uinList': targetQQ,

  'format': 'fs',

  'iNotice': '1',

  'inCharset': 'utf-8',

  'outCharset': 'utf-8',

  'ref': 'qzone',

  'json': '1',

  'g_tk': g_tk,

  'qzreferrer': 'https://user.qzone.qq.com/proxy/domain/qzs.qq.com/qzone/msgboard/msgbcanvas.html#page=1'

  }

  html = requests.post(url, headers=headers, data=data)

  time.sleep(1)

  html = requests.post(url, headers=headers, data=data)

  if '留言不存在或已被删除' in html.text:

  print('留言不存在或已被删除')

  try:

  if mode == '1':

  getcomment()

  elif mode == '2':

  get_msgboard()

  elif mode == '3':

  getcomment()

  get_msgboard()

  except Exception as e:

  print(e)

  input(">> 任意键退出...")

  get_msgboard()

 

image.png

    用户名: 密码: 匿名评论
  • 评论
人浏览,条评论