py脚本:下载md文件中图片外链并替换链接

Markdown 图片本地化工具

一个用于扫描 Markdown 文件、下载外部图片并替换本地链接的 Python 脚本。多线程下载,并提供多种图片命名方式。

工具链接

https://github.com/YoWuwuuuw/PicGrabber

主要功能

  • 扫描 Markdown 文件:递归遍历指定目录下的所有 Markdown (.md) 文件。
  • 识别外链图片:解析 Markdown 内容中的外部图片链接(http:// 或 https:// 开头)。
  • 下载图片到本地:将识别到的外部图片下载到 Markdown 文件同级目录下的独立文件夹中。
  • 替换图片链接:将 Markdown 文件中的外部图片链接替换为本地相对路径。
  • 多种图片命名模式:支持使用原始文件名、UUID 或递增序号来命名下载的图片。
  • 多线程并发下载:利用多线程提高图片下载效率。
  • 详细日志记录:将主程序运行日志和图片下载日志分别记录到独立的文件中。
  • 清理空图片目录:处理完成后自动删除不再包含图片的空目录。

如何配置

在脚本的 main() 函数中,可以找到以下重要配置项:

设置并发数时,需要注意外链服务器可能因频繁访问触发限流策略,所以并发数最好不超过3不然秒封

def main():
    # 配置项1:目标目录路径(支持多层目录)
    target_root_path = 'C:/Users/xxx/' 
    
    # 配置项2:图片命名模式: 'original' (原始文件名), 'uuid' (随机UUID), 'asc' (递增序号)
    image_rename_mode = 'original' 
    
    # 配置项3:最大并发下载线程数
    max_threads = 4 

如何运行

方式一:通过命令行运行

  1. 执行命令导入requests库(只有这一个第三方库):pip install requests
  2. 保存脚本为 your_script_name.py (例如:md_image_localizer.py)
  3. 打开命令行或终端,导航到脚本所在的目录,执行以下命令:
python your_script_name.py

方式二:通过 PyCharm 运行

  1. 下载环境,点 ▶

日志文件

脚本会在 target_root_path 目录下生成两个日志文件:

  • yuque_processor_main.log:记录主程序的运行信息、文件处理进度等。
  • yuque_processor_downloads.log:记录每张图片的下载成功或失败信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值