微信公众号批量上传、发布文章管理系统(Python版)

news2024/12/25 13:52:31

功能亮点

  • 一键批量操作
  • 文章自动排版
  • 支持自定义文章数量
  • 适用于多号操作
  • 支持文章管理、查询、查看
  • 支持查询当前状态

适用对象

  • 公众号运营批量文章上传发布
  • 矩阵号管理

部分关键代码及步骤

  1. 微信公众号后台的设置与开发栏目中的基本配置里获取appid和appsecret。

  2. 获取微信公众号的appidappsecret
    access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。以下为获取access_token的函数。

def get_access_token(AppSecret, AppID):
    url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}'.format(
        AppID, AppSecret)
    response = requests.get(url)
    res_html = response.json()
    # print(res_html)
    access_token = res_html['access_token']
    return access_token

该函数用于获取微信公众号的访问令牌(access token)。通过传入AppSecret和AppID两个参数,构造请求URL并使用requests库发送GET请求。接收到响应后,解析JSON格式的响应内容,提取出access token并返回。

  1. 新增封面图片永久素材
def push_image(access_token, image_path):
    media_type = "image"
    upload_url = f"https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={access_token}&type={media_type}"

    with open(image_path, 'rb') as file:
        response = requests.post(upload_url, files={'media': (image_path, file)})

    # 解析响应
    result = response.json()
    # print(result)
    if 'media_id' in result:
        media_id = result['media_id']
        img_url = result['url']
        print(f"上传成功,media_id: {media_id}, img_url: {img_url}")
        return media_id, img_url
    else:
        print(f"上传失败,错误信息: {result['errmsg']}")

该函数使用requests库发送POST请求,将本地图片文件上传至微信公众号的素材管理接口。函数接收access_token(访问令牌)和image_path(图片文件路径)作为参数。通过构造上传URL,使用open()函数以二进制读取模式打开图片文件,并将其作为文件参数,通过requests.post()方法发送POST请求。如果上传成功,解析响应的JSON数据,提取media_id和url字段,并打印成功信息及返回media_id和url;如果上传失败,打印错误信息。

  1. 发布到草稿箱
    新增文章必须先上传到草稿箱,然后再发布到正式文章。
def push_draft_1(access_token, title, content, media_id, author, need_open_comment):
    url = 'https://api.weixin.qq.com/cgi-bin/draft/add?access_token={}'.format(access_token)
    data = {
        "articles": [
            {
                "title": title,
                "content": content,
                "author": author,
                "thumb_media_id": media_id,
                # "need_open_comment": need_open_comment,
                # "only_fans_can_comment": 0
            }
        ]
    }
    if need_open_comment:
        data['articles'][0]['need_open_comment'] = 1
        data['articles'][0]['only_fans_can_comment'] = 1
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, data=json.dumps(data, ensure_ascii=False).encode('utf-8'), headers=headers)
    # print(json.dumps(data))
    # print('response', response)
    rt_data = response.json()
    # print(rt_data)
    tw_media_id = rt_data['media_id']
    return tw_media_id

该函数使用提供的参数,调用微信公众号接口来创建并保存一篇图文消息草稿。其中,access_token是接口调用凭证,title是图文消息的标题,content是图文消息的内容,media_id是图文消息封面的媒体ID,author是图文消息的作者,need_open_comment是是否开启评论的标志。函数首先构造请求的URL和发送的数据,然后根据need_open_comment的值决定是否开启评论,并发送POST请求到微信公众号接口。最后,函数返回保存的图文消息的媒体ID。

部分系统截图展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需要系统适用链接、系统定制的小伙伴们请关注下方微信公众号后台联系我!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试 - 测试用例(设计测试用例的思路、万能公式、测试用例设计的方法)

一、测试用例 1.1 概念 测试用例( Test Case )是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环 境、操作步骤、测试数据、预期结果等要素。 1.2 编写测试用例 1)excel 表格编写 笔试题的测试用例…

【Nginx】Nginx 安装(平滑升级和回滚)

一、 Nginx 概述 Nginx 介绍 Nginx : engine X , 2002 年开发,分为社区版和商业版 (nginx plus ) 2019 年 3 月 11 日 F5 Networks 6.7 亿美元的价格收购 Nginx 是免费的、开源的、高性能的 HTTP 和反向代理服务器、邮件代理服务器、以…

路由器VLAN配置(H3C)

路由器VLAN配置(H3C) 控制页面访问 路由器默认处于192.168.1.1网段(可以短按reset重置),如果要直接使用需要设置静态IP处于同一网段; 对路由器进行配置也要将电脑IP手动设置为同一网段; 默…

音频剪辑软件哪个好用?五大音频剪辑软件分享

如果你正打算在家自学视频制作,那么恭喜你,你已经踏上了一段充满魔法与惊喜的旅程!不过,别忘了,视频的灵魂不仅仅在于画面,更在于那直击心灵的音效。 想象一下,一个精心剪辑的片段,…

如何拯救非正常专利申请?

在无忧专利微信公众号2023年年初的一篇文章中提到,出于提质增效的考虑,专利局加大了对非正常申请的打击力度。 专利局打击非正常申请的方式包括:建立黑名单、启用新的业务办理系统、使用大数据识别技术、惩罚非正常申请和非正常代理行为。 …

Vehicle Perception from Satellite(2024 TPAMI 卫星视频车流量监控)

Vehicle Perception from Satellite(2024 TPAMI 卫星视频车流量监控) 前言1.1 动机1.2 概述1.3 贡献 2 相关工作2.1 遥感中的目标检测2.2 计算机视觉中的相关任务2.3 卫星交通监控 3 TMS 数据集3.1 数据收集与预处理3.2 数据统计3.3 应用任务 4 实验4.1 …

C++奇迹之旅:手写vector模拟实现与你探索vector 容器的核心机制与使用技巧

文章目录 &#x1f4dd;基本框架&#x1f320; 构造和销毁&#x1f309;vector()&#x1f309;vector(const vector& v)&#x1f309;vector(size_t n, const T& value T())&#x1f309;赋值拷贝构造&#xff1a;vector<T>& operator(vector<T> v)&a…

XSS的DOM破坏

目录 1、DOM破坏案例解释 1.1先写一个demo.html文件 1.2、执行demo&#xff0c;看到是否将全部移除%20scr1%20οnerrοralert(1)> 分析&#xff1a; 解决&#xff1a;把两个for不在同一个数组进行操作 1.3、接下来我们要想办法让第二个for循环不能删除&#xff0c;留下…

android FD_SET_chk问题定位

android FD_SET_chk问题定位 一、FD报错二、问题定位2.1 APM定位2.2 adb定位2.3. 代码获取FD数 三、FD优化 一、FD报错 App在运行中记录报错如下&#xff0c;FD_SET&#xff0c;这个问题大概是文件描述符&#xff08;File Descriptor&#xff0c;简称FD&#xff09;超过了最大…

首款会员制区块链 Geist 介绍

今天&#xff0c;Pixelcraft Studios 很高兴地宣布即将推出 Geist&#xff0c;这是一个由 Base、Arbitrum、Alchemy 以及 Aavegotchi 支持的全新 L3。 Geist 之前的代号为 “Gotchichain”&#xff0c;是首个专为游戏打造的会员专用区块链。 为什么选择 Geist&#xff1f; …

Spring DI 简单演示三层架构——Setter 注入

Spring IOC 的常见注入方法有3种&#xff1a;Setter注入、构造注入和属性注入。想了解更多可点击链接&#xff1a;Spring 注入、注解以及相关内容补充 属性注入 不推荐。原因&#xff1a;使用私有的成员属性变量&#xff0c;依靠反射实现&#xff0c;破坏封装&#xff0c;只能依…

~Keepalived高可用集群~

一、Keepalived简介 是一个用于实现高可用性的解决方案&#xff0c;它主要应用于云主机的主备切换&#xff0c;以达到高可用性&#xff08;HA&#xff09;的目的。当主服务器发生故障无法对外提供服务时&#xff0c;动态将虚拟IP切换到备服务器&#xff0c;继续对外提供服务&a…

DOM破坏

XSS Game 1、第一关 Ma Spaghet! <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebody") " Toucha Ma Spaghet!" </script> S…

【ubuntu24.04】wget配置代理加速下载

参考之前的wget代理配置 wget速度非常慢 配置控制台代理不行 配置wget代理 本机部署了代理程序:all_proxy 不识别:root@PerfSvr:~# cat set65proxy.sh #!/bin/sh export

[STM32F429_硬件知识01]

知识点1 &#xff1a;J-Link的使用步骤&#xff1a; step1 : 安装J-Link驱动程序 step2 : keil的魔术棒中 -> Debug -> Use中选择J_Link ->点击 Settings ->

AI 时代风暴:程序员的核心竞争力大揭秘

引言&#xff1a; 在当今科技浪潮以排山倒海之势汹涌澎湃之际&#xff0c;人工智能宛如璀璨星辰般不断涌现&#xff0c;AIGC&#xff08;如 chatgpt、midjourney、claude 等&#xff09;大语言模型如雨后春笋般破土而出&#xff0c;AI 辅助编程工具更是以风驰电掣之速迅速席卷编…

智能电销机器人提升工作效率

随着科技的不断发展&#xff0c;电销行业也在不断探索创新&#xff0c;其中电销机器人作为一种高效的工具&#xff0c;正逐渐成为企业提升工作效率的利器。让我们一起看看电销机器人如何助力企业提高效率&#xff1a; 1. 自动化拨打电话 电销机器人每天可以自动拨打大量电话&a…

element-plus表格组件el-table 的使用

表格是在前端页面中是经常被用到的&#xff0c;尤其是管理系统&#xff0c;几乎每个页面都会存在表格&#xff0c;所以掌握表格组件是非常有必要的。element-plus提供el-table&#xff0c;el-table-column来渲染表格&#xff0c; 1. el-table 组件主要属性 属性名作用值类型…

【C语言小项目】五子棋游戏

目录 前言 一、游戏规则 1.功能分析 2.玩法分析 3.胜负判定条件 二、游戏实现思路 三、代码实现与函数封装 1.项目文件创建 2.头文件说明 3.函数封装 1&#xff09;菜单实现 2&#xff09;进度条实现 3&#xff09;main函数实现 4&#xff09;Game函数 5&#xff0…

Java语言程序设计——篇十三(4)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 欢迎大家&#xff1a;这里是我的学习笔记、总结知识的地方&#xff0c;喜欢的话请三连&#xff0c;有问题可以私信&#x1f333;&#x1f333;&…