Markdown文本中图片的整体迁移

问题复现

在markdown软件中写作时,为了使图片在所有平台都可以访问,必须要一个图床。插入图片时可以先通过iPic或者PicGO等图床软件进行转换,但是每次插图的时候都需要进行一次上传图片在粘贴markdown代码的操作,有点不方便,尤其是文章要插入很多图片的时候。

还有一个情况就是,比如在有一篇好文章你想把它保存为markdown,但是文章采用了防盗链功能,直接转换图片地址就有点行不通。

那么有什么方法,可以一键将markdown文件中的所有图片批量上传至图床并且自动更换链接呢?

使用教程

本地图片可以是电脑中任意位置的文件(使用绝对路径),也可以MD同名文件夹下的图片(使用相对路径)。插入的网络图片也不用担心出现“此图片来自微信公众平台,未经允许不可引用”之类问题,因为脚本处理之后会直接转到到个人的七牛空间。插入网络图片如果是自己的七牛空间里面的图片,脚本会自动忽略,避免重复上传。

插完图之后也可以随时修改,不用担心图片管理混乱的问题(上传的图床的图片不方便管理)。

写作完成,浏览修改,运行

python 脚本路径 MD文件路径 [是否图片压缩]
  • 0 - 不需要压缩
  • 1 - 需要压缩,注意tiniPNGkey

上传之后的七牛中的图片名称为上传日期-MD文件名/image序号.png or jpg,方便后期管理和备份
发表markdown文件到网络,删除备份的MD.bak和清理本地图片。

使用注意事项

Python3.x
依赖包:

import re
import os
import sys
import datetime
import math
import imghdr
import shutil
import random
import string
import tinify
import urllib
import sqlite3
import operator
from hashlib import md5
from qiniu import Auth, put_file, etag, BucketManager
from datetime import date
import validators

注意使用前最好创建一个 sqlite3 数据库。

这些重要的参数不要忘了哦 ~

ak = ''		# ak
sk = ''		# sk
domain = '' # 上传域名
bucket = '' # 空间名称
tinify.key = '' # 设置tinipng的key

代码实现

import re
import os
import sys
import time
import datetime
import math
import imghdr
import shutil
import random
import string
import tinify
import urllib
import sqlite3
import operator
from hashlib import md5
from qiniu import Auth, put_file, etag, BucketManager
import validators

# 七牛配置
ak = ' '
sk = ' '
domain = ' ' # 上传域名
bucket =
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值