python自动化将md本地图片上传码云

image.png

python自动化上传到gitee,批量修改本地mk文档

image.png

MarkDown设置:文件-偏好设置-如下图设置

image.png

用 Gitee 搭建图床,上传要用到 Gitee 的开放API:https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath

image.png
  • 申请授权
  • image.png
image.png

API 说明

image.png

如何获取curl

  • F12 抓包右键选择复制CURL bash
image.png
  • 复制好的内容粘贴到 https://tool.lu/curl
image.png

编写python脚本,用requests库

    • 第1个坑:文件上传需要更改content-type的值。
image.png
image.png
    • 第2个坑:API文档地址post的url地址是这么写的:https://gitee.com/api/v5/repos/{owner}/{repo}/contents/{path}
    • owner :指的是登录用户名
    • repo:指的是 仓库名字
    • path:指的是文件地址,也就是文件的绝对路径。如果要指相对路径必须切换目录:调用os.chrdir()这个函数

    API文档地址:https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath

    • 我的需求要图片上传到指定的文件夹中,经过分析绝对路径肯定不行,我只需要文件名,那么可以用目录切换,相对路径即是文件名。
  • 所以我要对发送请求的url进行调整,让图片传到仓库指定的文件夹当中,如果做呢

    -
    image.png
  • 上面解决了 如何将本地的图片上传到gitee仓库中。那么有不有这种情况,我写markdown记录生活的时候,一些美女图片或者生活图片,我保存在了本地。那么我把markdown代码复制到上,我的图片就成XX了,显示不出来了。我们课不可以如下那么干?
    • 我先将我写好的markdown,存放在assets中的图片先调用上面写好的函数getup_gitee(filepath) 。其中filepath是一个目录哈,为了批量处理。
    • 然后执行如下图的函数 change_md_url() md_file_path是一个文件 不是目录哈
      • image.png
  • 实际写文章或者写笔记的时候,公司里面可能没有网络,因为联不了网。所以我们只能把图片放到本地。但是有时候我们需要把文章发布到网上,重新手动去替换图片url地址,是非常恼火的事情。所以写了上面的代码解放了双手。
    • 可以第一步把assets中所有的图片 提交到gitee仓库中。执行getup_gitee函数 传参是一个目录
    • 第2步 执行 change_md_url函数 参数是一个文件地址 绝对路径
    • 第三步 把新保存的有gitee url的markdown代码复制到上即可。
    • base_url = "https://gitee.com/adeng520/photopng/raw/master/img/" 上面代码常量base_url的值
    • 那么有的人是不是想说:能不能把第三步的代码自动发动到上? 可以是可以,反正我没那么懒,就不写了。

你可能感兴趣的:(python自动化将md本地图片上传码云)