在互联网时代,Markdown已经成为写作、博客、文档等多个领域的标配。它简单、高效,但有时我们会遇到一个问题:插入的图片都是网络链接,一旦这些链接失效,文章中的图片就会消失。有没有方法可以快速地将这些在线图片保存到本地,并自动修改Markdown文件的链接呢?答案是肯定的,今天我们就来探讨如何用Python实现这一功能。
1. 准备工作
首先,我们需要导入以下库:
import requests, json, sys, random, time, os, re, openpyxl, urllib.parse, urllib3, glob
这些库的功能非常丰富,涵盖了网络请求、文件操作、正则表达式等多个领域。
2. 获取随机User-Agent
由于频繁的网络请求可能会被服务器屏蔽,为了模拟真实的浏览器行为,我们需要随机选择User-Agent。代码如下:
def User_gent():
...
return (fackender)
3. 保存网络图片到本地
为了保存网络图片到本地,我们需要:
- 使用
requests.get()
请求图片链接。 - 检查响应状态码,确保请求成功。
- 创建一个本地文件,并将图片内容写入。
这部分的代码如下:
def Secone(fileName, FilePath, Fpath):
...
和
def ChineseSecone_test(fileName, FilePath, Fpath):
...
注意,我们的代码支持文件名中有中文字符,所以提供了两个函数。
4. 执行程序
我们使用if __name__=='__main__':
来确保代码只在作为主程序时执行,而不是在导入时。用户可以选择操作单个文件或整个目录。
5. 代码解释
ImgDirectory = 'Image'
:定义了存放图片的目录。re.compile(r"[(](https://cdn.nlark.com/.*?)[)]")
:使用正则表达式匹配Markdown文件中的图片链接。os.makedirs()
:用于在本地创建新目录。
这个Python脚本是为了解决Markdown中图片链接失效的问题,帮助用户快速将网络图片保存到本地,并自动修改Markdown文件中的链接。无论你是一个博主、写手还是开发者,都可以利用这个脚本来优化你的写作流程。