首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >写了个工具帮助我自动更新公众号

写了个工具帮助我自动更新公众号

作者头像
panzhixiang
发布2024-10-30 19:20:55
发布2024-10-30 19:20:55
26600
代码可运行
举报
文章被收录于专栏:panzhixiangpanzhixiang
运行总次数:0
代码可运行

我最近开始更新微信公众号,但是公众号的发布流程很复杂,即使我已经有现成的博客,但是发布到公众号上也要花很长时间,于是就开发了一个工具来帮助我自动更新公众号。

我从2020年开始写博客,到现在已经有大约五六十篇了,一篇篇手动在公众号发布一次要做很久,而且都是重复劳动,就不是很愿意做。

而且我一直都是用markdown来写博客的,即使现在手动把库存的博客发布到公众号,以后还是要一直手动更新,因为公众号是一个封闭的系统,编辑和管理文章都有自己的一套方案,长期来说,这也是一个麻烦。

基于上面两个原因,我就想自己开发一个工具来帮助我更新公众号,于是就有了这篇博客。

代码地址: markdown-to-wechat

以下内容是对使用这个工具的必要解释:

功能

主要作用就是把markdown文件同步到微信公众号中,不用手动一篇一篇重新编辑。

安装依赖

代码语言:javascript
代码运行次数:0
运行
复制
pip3 install -r requirements.txt

配置白名单和 token

微信公众号只允许来自于白名单的IP请求相关API,所以需要在微信公众号后台配置白名单。 后台路径:设置和开发 -> 基本配置 :填入服务器 IP,生成 token。

配置自定义变量

var.py 我创建了一个var.py,内容如下:

代码语言:javascript
代码运行次数:0
运行
复制
CONTENT_SOURCE_URL = "https://panzhixiang.cn"  # 文章原地址,比如自己的博客网站
AUTHOR = "潘智祥"  # 希望显示在公众号文章中的作者名字
IMAGE_PATH = "./myNotes/images"  # markdown中引用的图片的路径
MARKDOWN_PATH = ["./myNotes/"]  # markdown文件的路径,可以传入多个路径
FOOTER = '''
<div>
	<br />
	<br />
	同步发布在我的个人博客上:<a href="https://panzhixiang.cn">https://panzhixiang.cn</a>
</div>
'''  # 添加在每篇文章的底部的内容,如果没有,保留空字符串即可
# 以下是微信公众号的配置, 可以通过环境变量设置或者直接写在第二个引号中
WECHAT_APP_SECRET = os.environ.get('WECHAT_APP_SECRET', '')
WECHAT_APP_ID = os.environ.get('WECHAT_APP_ID', '')

需要根据自己的实际情况进行修改

设置同步时间范围 这个工具是同步一定时间范围内的博客到公众号,代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
# 在sync.py中
for x in date_range(
		datetime.now() - timedelta(days=7), datetime.now() + timedelta(days=2)
	):

以上代码会同步从当前时间往前7天,往后2天的博客到公众号,可以根据自己的需求进行修改。 需要解释的是,这里用来对比的时间,是markdown文件中的属性date的值,而不是文件创建或者修改的时间,所以需要在markdown文件中添加date属性,比如:

代码语言:javascript
代码运行次数:0
运行
复制
---
title: markdown to wechat
date: 2020-12-12
tags:
- python
---
以下是正文

运行

代码语言:javascript
代码运行次数:0
运行
复制
python3 sync.py

注意事项

  1. 防止重复上传博客到公众号 1) 代码是通过计算markdown文件的md5值来判断是否已经被处理过,所以任何对文件的修改都会导致md5值的变化,从而导致重复上传。 2) 代码运行过一次之后产生一个名为“cache.bin”的文件,这里面存储了已经处理过的文件的md5值等信息,这是代码能“记住”处理过哪些博客的关键,如果要移动代码位置,一定要把这个文件一同移动,否则就会导致重复上传。
  2. 封面图片 建议在每一篇博客的markdown文件中都要有至少一个图片,这样可以用你自己的图片作为封面图片,否则会随机冲https://picsum.photos中获取一张图片作为封面图片。

最后要说明的是,这个工具不是从零开发的,而是基于喵叔markdown-to-wechat二次开发的,在此感谢喵叔开源代码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能
  • 安装依赖
  • 配置白名单和 token
  • 配置自定义变量
  • 运行
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档