• Python+Typora博客图片上传


    简介

    用Typora 写Markdown 1年多了,这个编辑器的确很好用,但就是写完博客复制到博客园时要一个个手动插替换图片非常麻烦。后来发现最新版的Typora 已经支持图片上传功能,在 设置-图像 里,你可以找到上传服务的设定。

    其实现原理:Typora 向程序输入图片的本地地址,然后接收程序的输出,再用其替换文档中的图片

    以下为废话:

    在Typora 推出这个功能前,要实现这个功能实际上可以编写脚本,先把图片上传到网盘,然后通过返回的url替换文件中图片,但总感觉没有博客园官方的上传好。虽然博客园支持 MetaWeblog ,但是要输入用户名、密码什么的,只是上传图片感觉有点牛刀小用。

    作为菜鸟,了解的东西并不多,过程有点坎坷。起初不知道博客园图片上传的接口,傻傻的浏览器调试看js文件。后来无意间发现是post 请求,但还是不知道如何将图片以何种形式传递。最后找到了python 可以通过requests传递文件。直到这一步所需的工具全部具备。

    开始配置

    1. 编写python 代码
    import requests
    from sys import argv
    
    uploadUrl = 'https://upload.cnblogs.com/imageuploader/processupload?host=www.cnblogs.com'
    
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
        "cookie": #和上面格式一样,输入自己的cookie
    }
    
    for i in argv[1:]:
        format = address[address.rfind(".")+1:]
    
        file = [
            ("",("fileName", open(address, "rb"),"image/"+format))
        ]
        response = requests.post(uploadUrl,headers = headers,files = file)
        
        text = response.text
        imgUrl = text[text.find("https"):-2]
        
        print(imgUrl)
    

    需要做的就是自己设置浏览器的cookie,并将这个py文件保存。

    2. 设置Typora

    在图像一栏上传服务设定中按如下选择。自定义命令是 python + 编写的py文件路径,例如:

    python C:UsersEADesktophomeworkmpythonolg.py

    image-20200508151051475

    设置好后验证一下

    image-20200508151505375

    建议不要设置插入图片时就 上传图片,可能会出现奇妙的bug。。。

    image-20200508151636847

    后记

    上传所有图片
    image-20200508154152269

    使用这个可以上传所有图片,但比较坑的是必须要把主题换成经典才有这个按钮

    image-20200508154607624

    不过你可以自定义上传所有图片的快捷键,教程 https://blog.csdn.net/billycoder/article/details/88861283

    enjoy Ctrl+C Ctrl+V ~~~~

  • 相关阅读:
    安装mysql到服务器的linux环境下
    Junit
    shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
    JavaScript组合继承的一点思考
    JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans
    Python之美[从菜鸟到高手]--2+2=5
    Flex中配置FusionCharts
    [WHY]Hello, Worktile~
    数据库学习之中的一个: 在 Oracle sql developer上执行SQL必知必会脚本
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/starrys/p/12851194.html
Copyright © 2020-2023  润新知