跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

使用 Python 脚本一键上传图片到兰空图床并自动复制链接

一个基于 Python 的自动化脚本,用于将本地图片上传至自建兰空图床(Lsky Pro)。该脚本利用 requests 库发送 HTTP 请求,配合 pyperclip 库实现上传成功后自动复制链接到系统剪贴板的功能。支持命令行参数指定文件路径,采用 Bearer Token 进行安全鉴权,兼容 Windows、macOS 和 Linux 系统。通过简单的配置 API 地址和 Token,用户可大幅减少手动上传图片的时间,提升写作与开发效率。

黑客发布于 2026/3/25更新于 2026/6/318K 浏览
使用 Python 脚本一键上传图片到兰空图床并自动复制链接

对于博客作者、开发者或任何经常需要处理图片的人来说,图床是绕不开的工具。兰空图床(Lsky Pro)凭借其强大的功能和现代化的界面,成为了许多自建图床用户的首选。

但是,传统的'打开浏览器 -> 登录 -> 拖拽上传 -> 点击复制链接'的流程在需要频繁插入图片时显得格外繁琐,严重打断写作或开发的思路。

今天,我将分享一个简单的 Python 脚本,它能彻底改变你的图片上传体验。

核心功能:快,准,狠

这个脚本旨在实现一个目标:以最快速度将本地图片转换为可用的网络链接。

它具备以下核心特性:

  1. 完全脱离浏览器:直接在终端(命令行)通过一条命令完成上传。
  2. 基于文件名传参:无需复杂的配置,只需告诉脚本你要传哪个文件。
  3. 自动复制到剪切板:这是灵魂功能!上传成功后,图片 URL 会自动进入你的系统剪切板,你只需在 Markdown 编辑器里按下 Ctrl+V (或 Cmd+V) 即可。
  4. 安全鉴权:使用 Lsky Pro V2 标准的 API Token 进行验证,无需暴露账号密码。
准备工作

在使用脚本之前,请确保你满足以下条件:

  • Python 环境:已安装 Python 3.x。
  • 兰空图床账号:你拥有一个 Lsky Pro (V2 版本) 的使用权限。
  • API Token:在图床后台获取了有效的 API 令牌(通常在'个人中心' -> '令牌管理'中生成)。
第一步:安装依赖

这个脚本依赖两个强大的 Python 库:

  • requests: 用于发送 HTTP 上传请求。
  • pyperclip: 用于操作系统剪切板。

打开你的终端或命令提示符,运行以下命令安装它们:

pip install requests pyperclip 

(注:Linux 用户如果发现剪切板功能失效,可能需要额外安装 xclip 或 xsel,例如:sudo apt-get install xclip)

第二步:获取并配置脚本

新建一个文本文件,命名为 upload.py(或者你喜欢的任何名字),然后将下方的代码粘贴进去。

⚠️ 重要配置: 在保存之前,你必须修改代码顶部的 配置区,填入你自己的图床信息。

import requests
import sys
import os
import pyperclip

# ============================================
# --- 配置区 (请在此处修改为你的信息) ---
# 1. 你的图床 API 地址,必须以 /api/v1/upload 结尾
API_URL = "https://your-domain.com/api/v1/upload"
# 2. 你的 API Token (在个人中心 -> 令牌管理中获取)
# 或者使用 curl 命令获取
# 注意:Token 通常是一长串字符,有时包含开头的数字和竖线,请完整复制。
TOKEN = 


 ():
    
      os.path.isfile(file_path):
        ()
        
    ()

    
    headers = {
        : ,
        : ,
        
        : 
    }

    :
        
        
         (file_path, )  f:
            
            files = {: (os.path.basename(file_path), f)}

            
            
            response = requests.post(API_URL, headers=headers, files=files, timeout=)

            
             response.status_code == :
                res_data = response.json()
                
                 res_data.get():
                    
                    img_url = res_data[][][]
                    
                    pyperclip.copy(img_url)
                    ()
                    ()
                    ()
                :
                    ()
             response.status_code == :
                ()
            :
                ()
            
            
     Exception  e:
        ()


 __name__ == :
    
     (sys.argv) < :
        ()
        ()
        ()
    :
        
        target_file = sys.argv[]
        upload_to_lsky(target_file)
"your_auth_token_here"
# ============================================
def
upload_to_lsky
file_path
# 1. 检查文件是否存在
if
not
print
f"❌ 错误:找不到文件 '{file_path}'"
return
print
f"正在上传:{os.path.basename(file_path)} ..."
# 2. 构造请求头 (使用 Bearer Token 鉴权)
'Authorization'
f'Bearer {TOKEN}'
'Accept'
'application/json'
# 伪装 User-Agent 防止部分防火墙拦截
'User-Agent'
'Mozilla/5.0 (Python Lsky Uploader)'
try
# 3. 读取文件并准备上传
# 使用 'rb' 模式读取二进制流
with
open
'rb'
as
# 构造 multipart/form-data 表单,字段名为 'file'
'file'
# 4. 发送 POST 请求
# 设置 timeout 防止网络卡死
30
# 5. 处理响应
if
200
# 再次确认 API 返回的状态也是 true
if
'status'
# 提取 URL
'data'
'links'
'url'
# ---> 核心步骤:复制到剪切板 <---
print
f"✅ 上传成功!"
print
f"🔗 URL: {img_url}"
print
"📋 状态:链接已自动复制到剪切板,直接粘贴即可!"
else
print
f"❌ 上传失败 (API 拒绝): {res_data.get('message')}"
elif
401
print
"❌ 认证失败:Token 无效或已过期,请检查配置。"
else
print
f"❌ 网络请求失败 | HTTP 状态码:{response.status_code}"
# 调试时可取消下面注释查看详细信息
# print(f"响应内容:{response.text}")
except
as
print
f"❌ 程序运行异常:{str(e)}"
# 主程序入口
if
"__main__"
# 检查命令行参数是否足够
if
len
2
print
"使用方法错误。"
print
"正确用法:python upload.py <本地图片路径>"
print
"示例:python upload.py screenshot.png"
else
# 获取命令行传入的第一个参数作为文件路径
1
第三步:享受极速体验

配置完成后,保存文件。现在你可以体验飞一般的上传速度了。

打开终端,进入 upload.py 所在的目录。

场景 1:上传当前目录下的图片

假设你有一个 demo.jpg 在当前目录下:

python upload.py demo.jpg 

场景 2:上传其他目录的图片

你也可以使用绝对路径或相对路径:

python upload.py /path/to/截图.png 

神奇时刻:

执行命令几秒后,你将看到如下输出:

正在上传:demo.jpg ...
✅ 上传成功!
🔗 URL: https://your-domain.com/i/2023/10/27/653a1b2c3d4e5.jpg
📋 状态:链接已自动复制到剪切板,直接粘贴即可!

此时,无需任何额外操作,直接回到你的 Markdown 编辑器中按下粘贴键,图片链接就出现在那里了。

继续优化:使用 alias 命令

为方便更好地复制,可以使用 alias 直接执行命令,任意地方即可上传图片。可在 .zshrc 或 .bashrc 中添加,注意路径更改为自己实际的全路径。

alias upload_lsky="python /path/to/upload.py"

如下任意位置执行 upload_lsky 命令,即可快捷上传图片了。

结语

通过这个不到 80 行的 Python 脚本,我们成功地将一个繁琐的图床交互过程简化为了一行命令。这不仅节省了时间,更保持了工作心流的连贯性。相比使用本地图片上传软件,也更加方便快捷。

如果你是 Typora 用户,甚至可以将此脚本配置为 Typora 的自定义上传服务,实现真正的'复制图片 -> 粘贴到 Typora -> 自动上传'的无缝体验。

快去试试吧,让你的写作效率起飞!

目录

  1. 核心功能:快,准,狠
  2. 准备工作
  3. 第一步:安装依赖
  4. 第二步:获取并配置脚本
  5. ============================================
  6. --- 配置区 (请在此处修改为你的信息) ---
  7. 1. 你的图床 API 地址,必须以 /api/v1/upload 结尾
  8. 2. 你的 API Token (在个人中心 -> 令牌管理中获取)
  9. 或者使用 curl 命令获取
  10. 注意:Token 通常是一长串字符,有时包含开头的数字和竖线,请完整复制。
  11. ============================================
  12. 主程序入口
  13. 第三步:享受极速体验
  14. 继续优化:使用 alias 命令
  15. 结语
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Visual C++ 运行库修复指南:解决软件启动失败问题
  • MySQL 复杂查询:连接、嵌套与集合操作
  • Verilog 零基础入门:语法、仿真与 FPGA 实战
  • Linux 下开启 MySQL 慢查询日志与分析实战
  • Deebot 扫地机与 Home Assistant 集成配置教程
  • PyCharm 与 GitHub Copilot 配置指南:学生认证与账户安全加固
  • LLM 大模型入门项目推荐:多模态与 RAG 实战指南
  • Arduino BLDC 基于串口指令的远程控制工业巡检机器人
  • OpenClaw 新手指南:AI 机器人搭建实战
  • 学术论文如何通过重复率与 AIGC 率双重检测
  • 基于SpringBoot的网上租赁系统设计与实现
  • AI视频角色一致性怎么破?2026最新稳定方案大公开
  • Hexo + GitHub Pages 从零搭建博客详细步骤
  • C++ OpenCV 入门实战指南(Ubuntu 24.04)
  • 使用 Ollama、Open WebUI 和 Docker 本地部署 AI 大语言模型
  • SQLyog 连接 MySQL 报错 2058 原因分析与解决方案
  • AI 大模型入门教程:从零基础到精通实战指南
  • OpenClaw Gateway 命令与交互指南
  • MySQL 8.4.7 在 Windows 10/11 下的免安装版部署指南
  • AI 数据标注平台选型实践:效率提升背后的技术逻辑

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online