【Apipost】批量删除我的51CTO文章

文章目录

  • 一、序
  • 二、API分析
  • 三、Apipost测试
  • 四、脚本
  • 五、Apipost中完成

一、序

去年开始再51CTO同步更新文章,一年多过去了,只涨了3个粉丝。看了下这个平台就是卖课、搞培训的,退出了。决定把文章也删除了(有人私信我说专门注册了个账号感谢我的一篇文章,还挺有意义的)。

不过这和C站一样,文章不支持批量操作,100多篇文章,手动删了几篇后就不想继续了。于是决定写个python脚本(联系客服应该也能全部删除吧)。

在这里插入图片描述

之前写过批量查询CSDN文章质量分的文章,本文思路是一样的。

【python】我用python写了一个可以批量查询文章质量分的小项目(纯python、flask+html、打包成exe文件)

二、API分析

在51CTO的创作中心,文章列表页面,打开浏览器的检查,然后删除一篇文章,就可以看到删除操作的http请求参数:
在这里插入图片描述

载荷部分是具体操作(delBlog)和文章id,只需要在http请求的body里面设置要删除的文章的id,就可以删除对应的文章了。
在这里插入图片描述

下面的list操作,就是获取文章列表信息,从中提取出文章id就可以了:
在这里插入图片描述

核心操作就这两个。

三、Apipost测试

还是用Apipost来测试一下吧。

把operation操作的参数填写在Apipost里面就可以了。

请求头:
在这里插入图片描述

请求体:
在这里插入图片描述

现在开始测试接口,以这篇文章为例:
在这里插入图片描述

id7883577

在请求体中将id设置为7883577。点击发送,可以看到操作成功:
在这里插入图片描述

文章已经被删除:
在这里插入图片描述

批量获取文章id的操作是类似的,不过获取id请求体只需要cookie就可以了(按照前面的全填,永远只返回第一页的信息)

在page这里设置页面即可(和csdn一样,是按page来显示的,不是全部返回):
在这里插入图片描述

四、脚本

参考之前批量查询文章质量分代码。

五、Apipost中完成

直接在Apipost中获取文章id,然后保存下来,再将这些id对应的文章全部删除。

首先是获取文章id并保存,可以使用Apipost的“后执行脚本”功能,即编写脚本(js)对http请求(POST)的响应进行进一步操作。

在这里插入图片描述

脚本:

if (response.rawBody) {
    try {
        let responseData = JSON.parse(response.rawBody);
        let blogIds = responseData.data.list.map(item => item.blog_id);
        apt.globals.set("blog_ids", blogIds);
        console.log(blogIds);
    } catch (error) {
        console.error("解析JSON时出错: ", error);
    }
} else {
    console.error("响应体为空");
}

注意这里是rawBody,而通常的response响应体名称是body。自己先打印response(console.log(response);)就可以看到了。

现在,这些id已经保存到了全局变量blogIds 中了。在删除文章的接口中使用这个全局变量就可以了。

因为每次POST只能删除一篇文章(即一个id),说以需要再删除文章的接口中添加预处理脚本,对前面的全局变量进行设置,每次只取一个。

// 从全局变量中获取 blog_ids 字符串,并将其转换回数组
let blogIds = JSON.parse(apt.globals.get("blog_ids") || "[]");
let blogId = blogIds.shift().toString();  // 将 blog_id 转换为字符串
// 将更新后的数组转换回字符串,并保存到全局变量中
apt.globals.set("blog_ids", JSON.stringify(blogIds));
// 保存 blog_id 到全局变量中
apt.globals.set("blog_id", blogId);

然后再请求中将ids设置为对应的变量:

在这里插入图片描述


现在,点击“发送”,就会删除全局变量中保存的多个文章id对应的文章了。

比如我获取了一页(page)文章对应的id,假设有10个,那么全局变量就会保存这10篇文章的id,然后在删除文件的接口中删除这些id对应的文章。
在这里插入图片描述

不过有一个问题,删除一篇文章就要点击一次“发送”。这种方法还是不如写脚本来得快(循环发送,删除)。Apipost应该有相应的这种高级功能,我还没学。

在这里插入图片描述

即使不写脚本,也比一篇一篇地删除快了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/235103.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RCNN 学习

RCNN算法流程 RCNN算法流程可分为4个步骤 一张图像生成1K~2K个候选区域(使用Selective Search方法)对每个候选区域,使用深度网络图特征特征送入每一类的SVM分类器,判别是否属于该类使用回归期器细修正候选框位置 1.候选区域的生…

【论文极速读】视频检索中的模态均衡方法

【论文极速读】视频检索中的模态均衡方法 FesianXu 20231206 at Baidu Search Team 前言 传统的视频搜索系统相关性部分主要以文本匹配为基础手段,在其中引入多模态向量容易收到『模态不均衡』的问题,论文[1]尝试对其进行解决,本文进行笔记。…

二维码智慧门牌管理系统升级解决方案:数字化房产管理

文章目录 前言一、全面信息记录:提升管理效率二、多种优势功能:系统化管理与无缝对接三、安全隐私保护:数据安全的重要性四、总结:提升管理效率与居住体验 前言 科技驱动房产管理 随着科技的飞速发展,房产管理领域也面…

udp多播组播

import socket ,struct,time# 组播地址和端口号 MCAST_GRP 239.0.0.1 MCAST_PORT 8888 # 创建UDP socket对象 sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) # 绑定socket对象到本地端口号 # sock.bind((MCAST_GRP, MCAST_PORT)) …

D28|买卖股票的最佳时机+跳跃游戏

122.买卖股票的最佳时机 II 初始思路: 这道题解题的时候比较像在找规律,发现只要计算这个过程中的两数之差然后相加即可。 题解复盘: 可以更加清晰的发现如何从题意中获得贪心的思路。 如何贪心:局部最优:收集每天的…

Unity中Batching优化的GPU实例化(3)

文章目录 前言一、UNITY_SETUP_INSTANCE_ID(v);二、在UnityInstancing.cginc文件中,看一下Unity这句话做了什么1、使用了该 .cginc 后,会自动预定义该函数2、需要满足GPU实例化条件,才会执行对应语句3、满足GPU实例化后,主要执行的…

【Web】SCU新生赛个人wp及完赛感想

目录 一些碎碎念: Web Guideline 2048 ezupload hardupload ezphp ezweb ezsql webbuilder tarit tarit_revenge VipDinner simplespi 一些碎碎念: scu新生赛是我全心全力打的第二场比赛,历时七天,期间不免煎熬&…

[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手

该如何使用GPT助手--将GPT助手模型应用于问题 现在我要换个方向,让我们看看如何最好地将 GPT 助手模型应用于您的问题。 现在我想在一个具体示例的场景里展示。让我们在这里使用一个具体示例。 假设你正在写一篇文章或一篇博客文章,你打算在最后写这句话。 加州的人口是阿拉…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-2稳定性分析Stability

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-2稳定性分析Stability 0. 序言1. 稳定的分类2. 稳定的对象3. 稳定的系统4. 系统稳定性的讨论5. 补充内容——Transfer Function(传递函数) - nonzero Initial Condition(非零初始…

C现代方法(第27章)笔记——C99对数学计算的新增支持

文章目录 第27章 C99对数学计算的新增支持27.1 <stdint.h>: 整数类型(C99)27.1.1 <stdint.h>类型27.1.2 对指定宽度整数类型的限制27.1.3 对其他整数类型的限制27.1.4 用于整型常量的宏 27.2 <inttype.h>: 整数类型的格式转换(C99)27.2.1 用于格式指定符的宏…

【设计模式--创建型--建造者模式】

建造者模式 建造者模式概述结构结果优缺点使用场景 将上述案例改为链式调用结果 建造者模式 概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构建&#xff08;由Builder来负责&#xff09;和装配&#xff08;由Direct…

接触刚性环境任务下的机器人力控(阻抗)性能测试

内涵 接触刚性环境任务下的机器人力控&#xff08;阻抗&#xff09;性能测试旨在评估机器人在与刚性物体交互时的性能表现。这种测试通过调整机器人的控制参数&#xff0c;如期望刚度和期望阻尼等&#xff0c;并分析记录的数据&#xff0c;旨在确保机器人能够在执行任务时保持…

类数组对象转为数组的方法

在开发的过程经常会遇到一些类数组对象&#xff0c;例如arguments&#xff0c;类数组对象具有length属性&#xff0c;也可以通过下标访问到对应值&#xff0c;但是不能使用数组的方法&#xff0c;如果将类数组对象转为数组&#xff0c;数组方法可以帮助我们更快实现逻辑&#x…

C++枚举类

枚举 C11有作用域枚举和无作用域枚举 无作用域枚举 特点 全局作用域&#xff1a;无作用域枚举的成员&#xff08;枚举值&#xff09;在包含它们的作用域内是直接可见的&#xff0c;不需要使用枚举类型名称作为前缀。 隐式类型转换&#xff1a;无作用域枚举的成员可以隐式地转换…

机器学习 | Python贝叶斯超参数优化模型答疑

机器学习 | Python贝叶斯超参数优化模型答疑 目录 机器学习 | Python贝叶斯超参数优化模型答疑问题汇总问题1答疑问题2答疑问题3答疑问题汇总 问题1:想问一下贝叶斯优化是什么? 问题2:为什么使用贝叶斯优化? 问题3:如何实现? 问题1答疑 超参数优化在大多数机器学习流水线…

ToolkenGPT:用大量工具增强LLM

深度学习自然语言处理 原创作者&#xff1a;cola 用外部工具增强大型语言模型(LLM)已经成为解决复杂问题的一种方法。然而&#xff0c;用样例数据对LLM进行微调的传统方法&#xff0c;可能既昂贵又局限于一组预定义的工具。最近的上下文学习范式缓解了这一问题&#xff0c;但有…

微信小程序pc端宽高:默认宽高为1024*812,全屏宽高为1920*1032

最近开发调试pc端小程序&#xff0c;想知道默认打开和全屏这两种情况下的小程序宽高&#xff0c;发现了一种方法&#xff1a; 真机运行pc端小程序&#xff0c;点击devTools 在控制台直接打印window对象&#xff0c;可以获取到pc端默认屏幕宽高为1024*812&#xff0c;全屏pc端小…

Go开发运维:Go服务发布到K8S集群

目录 一、实验 1.Go服务发布到k8s集群 二、问题 1.如何从Harbor拉取镜像 一、实验 1.Go服务发布到k8s集群 &#xff08;1&#xff09;linux机器安装go(基于CentOS 7系统) yum install go -y &#xff08;2&#xff09;查看版本 go version &#xff08;3&#xff09;创…

有病但合理的 ChatGPT 提示语

ChatGPT 面世一年多了&#xff0c;如何让大模型输出高质量内容&#xff0c;让提示词工程成了一门重要的学科。以下是一些有病但合理的提示词技巧&#xff0c;大部分经过论文证明&#xff0c;有效提高 ChatGPT 输出质量&#xff1a; ​1️⃣ Take a deep breath. 深呼吸 ✨ 作用…

【Kubernetes】持久化存储emptyDir/hostPath/nfs/PVC

k8s持久化存储 一、为什么做持久化存储&#xff1f;二、k8s持久化存储&#xff1a;emptyDir三、k8s持久化存储&#xff1a;hostPath四、k8s持久化存储&#xff1a;nfs4.1、搭建nfs服务4.2、挂载nfs共享目录 五、k8s持久化存储&#xff1a; PVC5.1、什么是PV5.2、什么是PVC5.3、…