推广 热搜: 可以  搜索引擎  page  企业  百度  个数  使用  选择  音视频  行业 

public_markdown博客图片自动上传

   日期:2025-01-03     移动:http://ww.kub2b.com/mobile/quote/12206.html

为了实现博客的多平台(简书、掘金、知乎等)自动化发布,需要将本地的markdown中的图片自动转为图床链接,尽管已经有PicGO这种神器,但是自动调用PicGo上传图床有以下两个问题

  • 本地保留:大量图片为直接从visio中复制过来,如果直接上传本地没有保留副本
  • 隐私性:有些笔记不做公开,不希望图片公开

因此使用另一种方法解决自动化发布问题,即优先在本地完成文章,设置编辑器为将图片保存在本地,编写一个自动化替换脚本实现三个功能:

  • 将图片上传到图床(选择Gitee)
  • 将文章中的链接替换为图床链接

Gitee有API处理新建文件。根据API文档,新建文件的请求类型为POST,请求地址如下所示:


路径中所需要的内容如下所示:

  • :仓库所属空间的地址,对个人用户即为用户名
  • :仓库路径,即图床的名称
  • :上传文件的目标路径,例如上一部分中为

POST的formDate中需要带的参数如下所示:

  • :数据类型为string,为用户生成的token
  • :文件内容,数据类型为string,使用base64编码
  • :提交信息,数据类型为string

这里使用Python3+requests库构建POST请求,构建代码如下所示:


其中post_data是包括所有参数的dict,其中owner、repo和token来自预先写好的json文件,读取部分代码如下所示:


另外path、content和message需要根据图片文件生成,其中path由原文件名加上时间戳防止重复,content内容需要以二进制读取图片文件,并将其使用base64编码,该部分代码如下所示:



需要将markdown中的图片语句中的内容替换为上传后的URL,使用正则表达式识别,正则表达式如下所示:


当识别出上述内容后,判断当前行为图片,这里仅对单独出现的图片做处理,不考虑和文字出现在同一行的图片。代码如下所示:


该部分代码处理的内容如下所示:

  • 读取配置信息
  • 读取markdown文件
  • 扫描markdown的每一行,若在这一行发现图片插入语句,则判断其是否为url,若不是url则读取图片并将其上传,并替换为返回的URL
  • 在尾部添加版权声明和感谢信息
  • 生成新文件文件名并写入内容

至此,生成了将图片替换为图床URL的可发布版本,通过BlogHelper可自动发布到各个平台

本文地址:http://ww.kub2b.com/quote/12206.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号