700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 有道云笔记Markdown图片链接解决办法

有道云笔记Markdown图片链接解决办法

时间:2022-10-22 03:50:47

相关推荐

有道云笔记Markdown图片链接解决办法

有道云笔记Markdown图片链接解决办法

引言

在Markdown文档的编辑中,图片需要一个资源地址,你可以使用网络链接也可以使用本地路径,但是本地路径在你更换电脑,或者云端浏览的时候就会失去作用,无法查看图片。针对这个问题,很多人的解决办法是使用一个图床,比如付费的七牛,免费的微博图床、极简图床等,就是将你的图片上传到这些网站,它们会生成一个此图片的URL,然后你就可以在Markdown中使用此URL来使用图片。由于我平时使用有道云笔记进行记载笔记,所以我采用了如下方法:在有道云笔记中单独建立一个资源文件,然后将所引用的图片粘贴进去,点击上方共享按钮,获得共享URL,在浏览器中打开这个链接,按F12,在源码中找到图片对应的链接。不过这个查找过程有点麻烦,还需要优点编程基础,所以我写了一个脚本,来自动做这件事。

1. 获取分享链接中的图片URL

分享连接如下:/noteshare?id=3f12b7cb6d8928ed43b30d4495aacc4c&sub=A6D2DC88F50E4A6B8D0FD78BA5A9BFBC,从这个链接无法直接获取图片内容,因为这个内容是由JS代码请求的,需要转换成JS所请求的网址格式:/noteshare?id=3f12b7cb6d8928ed43b30d4495aacc4c&sub=A6D2DC88F50E4A6B8D0FD78BA5A9BFBC。(下方脚本需要requests库,可以使用pip install requests 命令安装)

import redef converUrl(url): reg = r'id=(.*?)&' s = re.search(reg, url) if s is not None: url = "/yws/public/note/%s?editorType=0&cstk=orBX-yw0" % s.group()[3:-1] return url else: return None

得到url,使用requests获取url指向的网页内容,从中提取图片url。

import jsonimport reimport requestsdef getHtml(url):r =requests.get(url=url)#print(r.status_code)#print(r.text)return r.text;def getImageUrls(url):html =getHtml(url)try:js = json.loads(html)ss = js["content"]except Exception:return Nonereg = r'src="(.*?)"'pattern = pile(reg)ret = re.findall(pattern, ss)return ret

测试上述代码

if __name__=="__main__":url ="/noteshare?id=3f12b7cb6d8928ed43b30d4495aacc4c&sub=A6D2DC88F50E4A6B8D0FD78BA5A9BFBC"url = converUrl(url)print(url)print(getImageUrls(url))

2. 构建一个UI界面,方便操作

界面如下:

youdao_url 输入分享链接,点击save,就会保存此链接,下次打开无需重复输入。点击ok,会在image_url中显示分享链接中的最后一个图片的URl,复制粘贴即可。代码如下:(需要keyboard库、pyperclip库,使用pip install keyboard、pip install pyperclip 分别安装)

from tkinter import *from Main import * #引用上述代码import keyboardimport pyperclipfrom config import *class MainWindow:def button_ok_listener(self,event):url =self.text_name.get('1.0',END)url = converUrl(url)list =getImageUrls(url)if list is not None:self.text_sex.delete('1.0',END)self.text_sex.insert(INSERT,list[-1:])pyperclip.copy("".join(list[-1:]))def button_save_listener(self,event):url =self.text_name.get('1.0',END)dict ={"LastUrl":url}updateConfig(dict)def Listener(self):url = self.text_name.get('1.0', END)url = converUrl(url)list = getImageUrls(url)if list is not None:self.text_sex.delete('1.0', END)self.text_sex.insert(INSERT, list[-1:])pyperclip.copy("".join(list[-1:]))def __init__(self):self.frame = Tk()self.label_name = Label(self.frame, text="youdao_url:")self.label_sex = Label(self.frame, text="image_url:")self.text_name = Text(self.frame, height="1", width=30)if getRecURL() is not None:self.text_name.insert("1.0", getRecURL())self.text_sex = Text(self.frame, height="1", width=30)self.label_name.grid(row=0, column=0)self.label_sex.grid(row=1, column=0)self.button_save = Button(self.frame,text ="save" ,width=10)self.button_ok = Button(self.frame, text="ok", width=10)self.text_name.grid(row=0, column=1)self.text_sex.grid(row=1, column=1)self.button_save.grid(row=0,column=2,padx=10)self.button_ok.grid(row=1, column=2,padx=10)self.button_ok.bind("<ButtonRelease-1>",self.button_ok_listener)self.button_save.bind("<ButtonRelease-1>",self.button_save_listener)keyboard.add_hotkey('ctrl+shift+a', self.Listener)self.frame.mainloop()frame = MainWindow()

同时我们加入了全局快捷方式:ctrl+shift+a,无需手动点击ok,只需按住ctrl+shift+a,此脚本会自动获取分享连接中的最后一张图片,并自动粘贴到剪贴板,此时你就可以直接ctrl+v即可粘贴使用。

3. 打包成exe

将python脚本打包的软件有好多,这里使用了pyinstaller这个软件。需要使用 pip install pyinstalle命令安装。

import subprocess,osdef exe(pyfile,dest="",creator=r"E:\software\Python36\Scripts\pyinstaller.exe",ico=r"C:\Users\XX\Desktop\ico.ico",noconsole=False):insert=""if dest:insert+='--distpath="{}"'.format(dest)else: insert+='--distpath="./"'.format(os.path.split(pyfile)[0])if ico: insert+=' --icon="{}" '.format(ico)if noconsole: insert+=' --noconsole 'print(insert)runstring='"{creator}" "{pyfile}" {insert} -F'.format(**locals())subprocess.check_output(runstring)exe(pyfile='F:\\Python\\YDCGallery\\UI.py',dest='C:\\Users\\XX\\Desktop\\UI',noconsole=True)

注意将上述路径分别换成自己使用的路径,即可生成一个可执行程序.exe。

4. 软件使用方法

打开有道云笔记,新建一个笔记,作为资源文件,点击上方分享按钮,获取分享链接。

打开本软件,在image_url文本框中输入上述链接,点击save,下次软件启动就会填充此url,无需手动添加。

将你需要的图片粘贴到之前新建的有道云笔记中,按ctrl+s,(或者点击左上方的保存并同步),然后点击本软件ok,image_url中就会显示这个图片的url,同时也会复制到粘贴板中,你直接ctrl+v就可以粘贴此url。

本软件支持全局快捷方式,ctrl+shift+a,也就是说你可以将图片粘贴到有道云笔记中的资源文件后,ctrl+s保存,然后ctrl+shift+a即可获取此url。(前提完成第一、二步骤:)

注意

本软件原理是将图片传到有道云笔记中,利用它的分享功能,获取图片url。也就是你将图片复制到有道云笔记中,按ctrl+s后需要等待有道云笔记会自动保存此图片到服务器,然后ctrl+shift+a才能获取到正确的url。一般来说ctrl+s后基本就可以马上获取url,速度很快。

此方法不保证以后永久有效。

exe下载链接 /detail/u013119744/9893187

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。