markdown文件中的外链图片上传到GitHub图床

这篇具有很好参考价值的文章主要介绍了markdown文件中的外链图片上传到GitHub图床。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

markdown文件中的外链图片上传到GitHub图床

import os
import re
import requests
from github import Github


# 获取GitHub令牌和图床存储库信息
TOKEN = ""
REPO_NAME = "" # 仓库名:如img-bed
REPO_OWNER = "" # 拥有者名称:如yijunquan

# 创建PyGithub对象
g = Github(TOKEN)
repo = g.get_user(REPO_OWNER).get_repo(REPO_NAME)

# 指定目录路径
path = "."

# 获取目录下所有文件的名称
file_names = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))]
# 打印输出所有文件的名称
for name in file_names:
    if ".md" not in name:
        continue
    if path == '.':
        file = name
    else:
        file = path + name

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

    # 查找Markdown文件中的所有图片标签
    img_tags = re.findall(r"!\[.*?\]\((.*?)\)", content) + re.findall(r'<img.*?src="(.*?)".*?>', content)


    # 遍历每个图片标签,上传到GitHub图床并替换Markdown文件中的链接
    for img_tag in img_tags:

        print(img_tag)
        if "https://raw.githubusercontent.com" in img_tag:
            print("跳过")
            continue
        # 获取图片URL
        img_url = img_tag

        # 下载图片数据
        response = requests.get(img_url)
        img_data = response.content

        # 上传图片到GitHub图床
        img_name = os.path.basename(img_url)
        if img_name[0:3] == "%20":
            img_name = img_name[3:]
        img_path = f"img13/{img_name}"
        img_file = repo.create_file(img_path, f"Upload image {img_name}", img_data)
        img_url = "https://raw.githubusercontent.com/yijunquan-afk/img-bed-1/main/" + img_path
        print("替换为:"+ img_url)
        # 替换Markdown文件中的链接
        content = content.replace(img_tag, img_url)

    # 更新Markdown文件
    with open(file, "w", encoding='utf-8') as f:
        f.write(content)

文章来源地址https://www.toymoban.com/news/detail-730217.html

到了这里,关于markdown文件中的外链图片上传到GitHub图床的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Typora设置Gitee图床,自动上传图片

    之前写了一篇同类型文章:如何将Typora中图片上传到csdn 实现了Typora本地编辑的内容中的图片,可以直接复制到csdn上进行发布。但是在使用过程中发现 sm.ms 这个图床站不是很稳定,即使用了翻墙也不稳定。 这篇文章推荐使用Gitee作为图床,上传速度实测挺给力。 下载地址:

    2024年02月16日
    浏览(34)
  • Github仓库中怎么新建文件夹、Github的项目中如何上传图片

    在Github仓库中创建新文件夹的步骤如下: 首先进入您的Github仓库页面。 在仓库页面中,点击“Add file”按钮,然后选择“Create new file”。 在文件名输入框里输入文件夹名称,例如“my_folder/”,注意末尾要加上“/”来表示这是一个文件夹。 然后在文件名后面按回车键,Gith

    2024年02月04日
    浏览(37)
  • Typora + PicGo + Gitee实现Typora图片上传到图床(1)

    4.2、配置图床 五、Typora 配置图床服务器 一、为什么要使用 =========================================================================== 在不同的平台发布同样的文章,最让人头疼的就是图片问题,如果要手动一个个去重新上传,耗时耗力,还容易搞错。 二、软件准备 =============================

    2024年04月10日
    浏览(31)
  • 解决Github Markdown图片显示残缺的问题

    title: 解决Github Markdown图片显示残缺的问题 tags: 个人成长 categories: 杂谈 在Github存放Markdown文档,如果图片没有存放在Github服务器上,github会尝试生成Github图片缓存,使用Github图片缓存,进行实际的展示。但比较蛋疼的是,如果原图片尺寸很大,缓存图片失败,会只显示一部分

    2024年02月08日
    浏览(34)
  • 自建私人图床:本地PHP搭建Imagewheel云图床,实现便捷的外部远程访问和图片上传

    云存储在前几年风头无两,云存储平台也如雨后春笋般冒出来。但是这两年风头退去云存储平台相继关闭,除了几个互联网大厂,其他平台都在苦苦支撑。而图床作为云存储的一个分支,更是所剩无几。但图床不仅能用来存储个人图片,也能作为网站图片的来源,想要拥有一

    2024年02月07日
    浏览(31)
  • 自建免费图床文件管理麻烦吗?PicList+Github搭建免费图床,功能更强文件管理更方便

    我之前写的博文“如何使用PicGo+Github搭建免费图床,免费云存储”,很多小伙伴看了后,根据我说的方法,也搭建了自己的免费图床和云存储,但同时很多小伙伴也反映,此方法虽好,但也有很大一个方面不足,那就是对图床和云存储端的文件管理很不方便,我们发现,在

    2024年01月21日
    浏览(49)
  • [python] 使用selenium+pywinauto模块处理弹窗中的图片/文件上传

    在我们使用selenium模块操作浏览器完成一些任务时经常会遇到一些需要上传文件/图片的弹窗。例如,我们在编辑发送邮件时需要上传文件: 这些弹窗属于系统页面而非浏览器页面,所以只使用selenium模块是定位不到弹窗页面中的元素的,从而也就无法对元素进行操作完成上传

    2024年02月03日
    浏览(28)
  • 【markdown工具配合图床】PicGo图床配置教程,一秒读懂配置

    看到这篇文章的大佬,我默认大家都会配置git,已经配置好ssh公钥。 此时你看到的这篇文章就是基于markdown工具(VSCode,Typora)编写的。 PicGo作为图床转换工具,并配合gitee作为图片服务器(仓库)。 个人设置找到私人令牌(配置图床时需要) https://gitee.com/profile/personal_acc

    2024年02月03日
    浏览(35)
  • 【工具使用】Gitee+PicGo实现图床 快速上传本地md文件至博客(非常稳定)

    为了可以非常方便的将本地写好的md笔记直接复制粘贴到博客中, 解决方案是:图片放到服务器上,md文件直接请求服务器上的图片 ,这样可以直接复制所有md内容至网上发布,而不需要再单独上传图片。 实现方案:图床 为了可以非常方便的将本地写好的md笔记直接复制粘贴

    2024年02月02日
    浏览(26)
  • 有道云笔记编辑 Markdown 文件 - GitHub README.md

    ​ ​​​ [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

    2024年01月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包