将markdown文档中的图床外链图片下载到本地文件夹

markdown图床外链图片下载到本地代码

前言

因为文章发到先知或者攻防社区需要本地图片,而我的图片从来都是上传到图床,所以编写了一个脚本实现了把markdown文章中所有含有外链图床的图片转储到本地的文件夹。 然后发布文章时再手动一个个上传图片。

详细文档请在markdown-image-downloader查看。

如果觉得好用请点个star吧,感激不尽。

代码

download_images_from_markdown.py

import re
import requests
import os

# 定义要匹配的 Markdown 文件路径
markdown_file = 'F:\Desktop\恶意程序快速分析—脚本类和文档类.md'

# 定义保存图片的本地文件夹
local_folder = 'F:\Desktop\markdown外链转存图片\恶意程序 脚本和文档类'

# 创建本地文件夹
if not os.path.exists(local_folder):
    os.makedirs(local_folder)

# 读取 Markdown 文件内容
with open(markdown_file, 'r', encoding="utf-8") as file:
    content = file.read()

# 使用正则表达式匹配图片链接
image_urls = re.findall(r'!\[.*?\]\((.*?)\)', content)

# 下载图片
for url in image_urls:
    response = requests.get(url)
    if response.status_code == 200:
        image_name = url.split('/')[-1]
        image_path = os.path.join(local_folder, image_name)
        with open(image_path, 'wb') as file:
            file.write(response.content)
        print(f'Downloaded: {image_name}')
    else:
        print(f'Failed to download: {url}')

运行

直接在pycharm中运行或者命令

或者在控制台中

python download_images_from_markdown.py

示例

58a44d3b6d870f6347b5d0407703dd2

注意

可能是笔者使用的是github作为图床的原因,转储时要关闭tizi(因为这个出现的其他问题还不少),不然会报错。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 20:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 20:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 20:28:02       82 阅读
  4. Python语言-面向对象

    2024-03-27 20:28:02       91 阅读

热门阅读

  1. Dockerfile优化

    2024-03-27 20:28:02       40 阅读
  2. [蓝桥杯 2023 省 B] 冶炼金属

    2024-03-27 20:28:02       35 阅读
  3. 记录一次Vcenter跨VDS网络迁移

    2024-03-27 20:28:02       40 阅读
  4. numpy矩阵做二维卷积

    2024-03-27 20:28:02       45 阅读
  5. KY111 日期差值

    2024-03-27 20:28:02       41 阅读
  6. WPF 自定义按钮类实现

    2024-03-27 20:28:02       40 阅读
  7. 形式语言理论简介及应用

    2024-03-27 20:28:02       41 阅读
  8. std::ratio

    2024-03-27 20:28:02       45 阅读