本地化Markdown文件中的图片:Python助力批量操作

在互联网时代,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. 代码解释

  1. ImgDirectory = 'Image':定义了存放图片的目录。
  2. re.compile(r"[(](https://cdn.nlark.com/.*?)[)]"):使用正则表达式匹配Markdown文件中的图片链接。
  3. os.makedirs():用于在本地创建新目录。

这个Python脚本是为了解决Markdown中图片链接失效的问题,帮助用户快速将网络图片保存到本地,并自动修改Markdown文件中的链接。无论你是一个博主、写手还是开发者,都可以利用这个脚本来优化你的写作流程。

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:本地化Markdown文件中的图片:Python助力批量操作

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月8日
下一篇 2023年10月8日

相关推荐

  • 打造自己的音乐下载器:一键获取喜爱音乐的便捷工具

    音乐是生活的一部分 音乐伴随着我们的生活,成为我们生命中不可或缺的一部分。无论是欢乐的时刻,还是寂寞的时候,音乐都能陪伴我们度过。然而,在享受音乐的同时,我们是否曾经遇到过这样的问题:想要下载自己喜欢…

    2023年9月21日
    00
  • 今日头条自动爬虫技巧:如何获取头条文章和图片链接

    在如今数字化的时代,自动化的数据获取方法如爬虫技术已成为数据分析、研究和营销中不可或缺的一部分。那么,你是否想过从如今日头条这样的巨大新闻平台上自动获取新闻内容及其相关图片呢?如果你的答案是肯定的,…

    2023年10月10日
    00
  • 2023年10月编程语言排行榜分析与解读

    在软件开发领域,编程语言的选择一直是开发者们关注的焦点之一。每年,TIOBE编程社区指数发布了关于各种编程语言的排名,反映了这些语言的流行度和趋势。2023年10月,TIOBE编程社区指数再次公布了最新的排名,让我…

    2023年10月10日
    00
  • 如何使用Python和PyQt5创建双色球彩票选号器

    你是否曾经在购买双色球彩票时感到犹豫不决,不知道应该选择哪些数字?如果是这样,那么你来对地方了!本教程将教你如何使用Python和PyQt5库创建一个简单的双色球彩票选号器。通过这个应用程序,你可以随机生成红球…

    2023年10月19日
    00
  • 如何使用Selenium自动化浏览器操作获取网页数据

    在当今互联网时代,网页上的数据是我们获取信息和进行各种任务的关键。有时候,我们需要自动化地进行浏览器操作,以获取网页上的数据,而这正是Selenium库的用武之地。在这篇教程中,我们将学习如何使用Selenium来…

    2023年10月16日
    00
  • Python HTTP 请求的 SSL 与代理问题:一次全面的解读

    在日常开发中,HTTP 请求作为信息交互的基础,其稳定性和正确性至关重要。然而,当李华试图用 Python 发送一个 HTTP 请求时,他遇到了一个棘手的问题:经常出现的 SSL 错误和超时问题。作为一个热衷于开发的工程师…

    2023年10月9日
    00
  • 使用FastAPI和Edge TTS创建自定义文本转语音应用

    有时候,你可能需要一个自定义的文本转语音(TTS)应用,以将文字转化为声音。这可以用于语音助手、有声书、自动化通知等各种应用场景。在这篇教程中,我们将介绍如何使用FastAPI和Edge TTS创建一个简单但功能强大…

    2023年9月14日
    06
  • 如何使用Python搜索并获取音乐信息

    在数字时代,音乐已经成为我们日常生活中不可或缺的一部分。有时候,我们迫切地想要找到某首歌曲或了解某位歌手的作品,但是如何高效地搜索和获取音乐信息呢?本教程将教你如何使用Python编写一个程序来搜索并获取…

    2023年10月19日
    00
  • Python数据库查询和邮件发送脚本

    假设你是一位数据分析师,每天早上需要查询公司数据库中的数据,并将结果发送给多位同事。在过去,你可能需要手动执行这些任务,但现在你可以通过编写Python脚本来自动完成这些工作。 准备工作 在开始之前,确保你…

    2023年9月23日
    00
  • 如何优化Python数据库操作与连接

    在现代应用程序中,与数据库的交互是一个常见的任务。Python作为一门流行的编程语言,提供了多种方式来操作和连接数据库。然而,在处理大量数据或高并发请求时,数据库操作可能成为性能瓶颈。本教程将介绍如何优化P…

    2023年10月15日
    00