再见了,知乎的搬运党们1.天下苦搬运党久矣对于我这样经常需要写点文章的技术自媒体来说,很经常早上我才在公众号首发了原创文

为了解决了首发的问题,我付费使用了OpenWrite这个平台,每个月20块钱的费用,一键就可以分发各大平台,非常的省心~

首发固然重要,但有时候也没那么重要。

这种人在知乎这种没有原创检测机制的平台,可以活得很好。

于是我就想啊,是不是可以自己写个工具,给自己的每张配图上都加上自己的水印,看他们还盗不盗。。

在开始讲如何利用Python来实现我的需求之前,我有必要介绍下我的图床管理工具。

其中今天的要参与的主角是PicGo

它对当下主流的图床平台都提供了很好的支持

当我使用了Snipaste截图后,再按住快捷键(P),就可以立即将你的图床上传至指定图床,并且将上传后的链接以markdown的图片格式复制到剪切板中,你可以直接粘贴使用。

由于这一整工具,我已经使用了三年,各种操作都非常的熟悉,对他们我已经产生了极度的依赖,因此现在我想要实现自动加水印的功能,也一定是建立在这套工具的基础上完成的。

Snipaste和PicGo本身都不支持自定义水印,也不提供第三方插件的开发入口。

Snipaste和PicGo之所以能够在一起工作,是因为有了剪切板这个桥梁,因此想要实现自己的需求,只能从剪切板上寻找突破口。

多余的废话就不多说了,我直接说下我的方案:

为了让你对这个方案,有一个直观的理解,我特地画了一张流程图,其中虚线就是我得自己实现的功能。

在Python中有一个pynput库,利用它可以来监听系统的键盘。

在它的官方文档中,很快找到了一个可以自定义热键组合的方案。

虽然它本身提供的组合键监听模式无法使用,但普通的监听模式还是可以使用的,只要有这个做为基础,那我自己造轮子也不难实现组合热键的功能。

第一步:先定义好你的热键:P

upload_pic_set={keyboard.Key.ctrl.value.vk,keyboard.Key.cmd.value.vk,keyboard.Key.alt.value.vk,keyboard.KeyCode(35).vk}第二步:监听所有的键盘动作

withkeyboard.Listener(on_press=on_press,on_release=on_release)aslistener:listener.join()只要有一个键处于press的状态,就往列表中存放这个键

key_list=[]defon_press(key):ifisinstance(key,keyboard.KeyCode):key_list.append(key.vk)elifisinstance(key,keyboard.Key):key_list.append(key.value.vk)ifset(key_list)==upload_pic_set:image=get_image_from_clipboard()new_image=make_watermark(image)put_image_to_clip(new_image)upload_image_via_picgo()notify_to_mac("成功添加水印并上传到图床")但是一旦有键释放了,就要清空这个列表

defon_release(key):key_list.clear()每一次按下键都会检查,key_list是否等于定义好的快捷键,如果刚好是相等,就可以开始图片的处理逻辑了。

ifset(key_list)==upload_pic_set:pass4.2从内存中读取图像PIL有一个ImageGrab模块,在这个模块中有一个grabclipboard函数,它实现了从剪切板中读取图像的功能,不过读取的rgb格式,由于我们后面加水印时,必须使用rgba格式才可以,因此再用convert转一下。

fromPILimportImageGrabimg_rgb=ImageGrab.grabclipboard()image=img_rgb.convert("RGBA")###4.3添加水印生成新图像

以下是添加水印的代码,其实可能要注意的一点就是如果你的文字里包含中文,那么选择字体时一定要是中文字体,否则会出现方块字

defput_image_to_clip(image):img_byte_arr=io.BytesIO()pb=pasteboard.Pasteboard()image.save(img_byte_arr,format='PNG')img_byte_arr=img_byte_arr.getvalue()pb.set_contents(img_byte_arr,pasteboard.PNG)pasteboard载入的图像只支持PNG格式,因此在保存时,一定要指定PNG。

此外pasteboard还支持更多格式的数据,比如PDF,音频数据,HTML、颜色数据等等

正常情况下,我们是通过快捷键来触发PicGo去从剪切板中上传图像的,因此想要在程序中激活PicGo,也只需要在Python脚本中模拟键盘动作即可。

具体的代码如下:

frompykeyboardimportPyKeyboarddefupload_image_via_picgo():k=PyKeyboard()k.press_keys(['Command','shift','p'])4.6通知Mac通知台上面整个过程都是脚本在后台默默运行的,如果没有任何通知,作为用户,很难知道我们的图片是否处理好,是否上传成功,因此建议加一个通知的函数。

importosdefnotify_to_mac(message):os.system("osascript-e'displaynotification\"{}\"\'".format(message))不过其实PicGo上传完图片后,本身就会通知,所以这个通知并不是必要的,看个人需求啦~

如果你在使用如上脚本时,发现有的键无法捕捉,那一定是系统没有给予权限,需要你手动开启。

在这里添加一个开机启动项,而这个init.sh是一个Shell脚本。

代码全部解析完了,是不是很想看这个程序运行后,可以实现怎样的效果呢?

我录制了个GIF动态图,你可以瞧一瞧,真的太方便了。

另外,即使你没有防搬运的需求,代码的实现依然值得学习,比如

在编码的时候,也遇到了不少的坑,有的第三方库并不适用于Mac,有的有BUG至今也还没修复,有的甚至要阅读源码才能知道如何使用,经过多轮的调试和搜索,最终才完成这个脚本。

系统收录各种Python冷门知识,PythonShell的多样玩法,令人疯狂的Python炫技操作,Python的超详细进阶知识解读,非常实用的Python开发技巧等。

THE END
1.微信公众号一般发什么内容内容要与公众号定位结合在一起,通过公众号来做什么、达到什么目的、根据用户的需求呈现什么样的内容、服务与什么类型的用户、想什么方面的用户来关注等,一般有:情感励志、搞笑、囧事、资讯、汽车、旅游、健康、养生、运用、理财、财经等等!八字精批 八字合婚 八字起名 八字财运 2025运势 测终身运 姓名详批 结婚吉日...http://m.7tqp.com/news_170818.shtml
2.公众号新手必看:内容排版全攻略——AI辅助排版教程以下是一个智能生成全类型公众号文案的教程: - 选择工具,如chatGPT、必应、Claude克劳德等; - 输入指令,让依照关键词生成文章大纲; - 依照大纲,让帮咱们撰写文章; - 对生成的文章实行修改和调整,使其更合需求。 五、紧跟时代步伐,积极应用技术 5.1 人工智能技术的不断进步 ...http://www.slrbs.com/jrzg/aizhishi/219524.html
3.放弃吧!80%的人做公众号流量主都赚不到钱!80%的人做公众号流量主都赚不到钱! Hey,你好呀,我是大仁哥,「流量创富圈」主理人…… 很多人认为赶上风口,猪都能上树,但是有没考虑过,死在大风的【猪】更多,很多人更新了1、2个月,甚至更久,赚了可怜的几十、几百块钱。 其实做公众号似乎并不像许多博主描述的那样赚的盆满钵满。https://www.niaogebiji.com/article-652360-1.html
4.如何设计公众号引导关注动图?公众号文章引导关注的动图制作窍门...那么该如何制作公众号引导关注动图才能达到比较好的引流效果呢?小编这里有些非常值得收藏的公众号引导关注动图模板,大家不妨先看一下,然后从中归纳出好用的设计窍门。 想要制作好公众号文章引导关注的动图,可以从三个方面入手。 一是文案标语: 可以跳脱常规的文案模式,使用这种创意新颖的引导关注图,能给用户别样的...https://www.gaoding.com/article/10834
5.图书馆书目检索系统6.1.3 新媒体文案的类型 6.2 新媒体文案常用的写作形式 6.2.1 逆向思维法 6.2.2 独特创意式写法 6.2.3 层层递进写法 6.2.4 新闻式写法 6.2.5 故事类写法 6.2.6 抑扬式写法 6.2.7 总分总式写法 6.2.8 片段组合式写法 6.2.9 盘点式写法 6.3 微信公众号文案写作 6.3.1 微信公众号文案...https://libsys.sdufe.edu.cn/space/searchDetailLocal/m76d207815ee6a789ca7b5c1321fdbe14
6.企业微信公号:10步教你写出好文案–EddicTrainingCenter2019年以来,企业做微信公号到底还有没有发展机会? 2019年以来,微信公众号营销又有哪些新的技巧? 2019年以来,企业如何运营微信公才能更好的做品牌和获客? 乌兰老师在2018年深受全国企业欢迎的微信文案攻略的基础上,根据2019年的新情况,再度升级,结合大量企业一线数据提升的实战经验,带来更干货,更新鲜,更实战的新课! http://www.eddic.net/mall/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E5%85%AC%E5%8F%B7%EF%BC%9A10%E6%AD%A5%E6%95%99%E4%BD%A0%E5%86%99%E5%87%BA%E5%A5%BD%E6%96%87%E6%A1%88/
7.鱼雷2954微信公众号数据主页文案改写 标题生成 爆款标题 违禁词 图片提取 账号PK 封面图制作 账号AI分析 编辑器 新媒体导航 达人清单 数据工具 (小数林) 账号作品回采 作品评论回采 话题回采 视频脚本提取 词云 删文检测 榜单定制 提供政企新媒体定制榜单服务 高校科研取数 公众号号内搜 ...https://newrank.cn/profile/gongzhonghao/E271A76D6CED96CFAAAFC359DFA54162?from=ranklist
1.小雪公众号文案(精选350句)小雪公众号文案(精选350句) 在我们平凡的日常里,许多人对一些广为流传的文案都不陌生吧,文案用以记录和分享生活日常。那什么样的文案才是新颖独特的呢?以下是小编为大家整理的小雪公众号文案(精选350句),仅供参考,大家一起来看看吧。 1、吹一阵寒风,灭了蚊蝇,隐了蛇虫;飘一场小雪,白了大地,静了心灵;发一条...https://www.ruiwen.com/wenan/8345520.html
2.go语言处理微信公众号文本消息回复程序微信公众号回复文案上一节课我们讲到了微信公众号的配置和接入,今天我们要讲一下最简单的响应之后台文本回复,就是当关注微信公众号的用户对公众号发送一段文本的时候,我们在后台应该怎么处理,先看一下我的效果界面 当我对微信公众号发送:“我是你爸爸”这段文本的时候,微信公众号后台给我回复了一段“你发送的是:我是你爸爸”,我...https://blog.51cto.com/u_16213709/7514185
3.借助微信公众号后台的编辑工具,我们可以制作出精美的文案。刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供借助微信公众号后台的编辑工具,我们可以制作出精美的文案。A.正确B.错误的答案解析,刷刷题为用户提供专业的考试题库练习。一分钟将考试题Word文档/Excel文档/PDF文档转化为在线题库,制作自己的https://www.shuashuati.com/ti/0ce39fe9d4684ca18999aff8cdd861d1.html?fm=bdbds7443046dae307c3b94905ead5a46bc99
4.详细教你微信公众号正文页SVG交互开发技巧javascript技巧这篇文章主要介绍了详细教你微信公众号正文页SVG交互开发技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 现在很多公众号都直接在正文...https://www.jb51.net/article/166239.htm
5.重磅小程序新增打开公众号新能力彻底打通和公众号最后一道壁垒...无疑,接入公众号内容对小程序来说有着很重要的意义,之前一直说的内容+连接得以真正实现,小程序新商业生态有了内容生态的增持自然是很强大了。 一方面,电商产品可以接入公众号文案,这样用户单独打开小程序商城时也可以根据文案是否要购买,文案好的话可以刺激用户的购买欲。 https://cloud.tencent.com/developer/article/1148329
6.平潭博物馆提升改造工程(3)信用信息的使用规则:依据《财政部关于在政府采购活动中查询及使用信用记录有关问题的通知》财库〔2016〕125号规定,供应商有下列情形之一,其响应文件在资格性检查中将被磋商小组视为无效报价: ①被列入“信用中国”网站(www.creditchina.gov.cn)中政府采购严重违法失信名单的; ②被列入中国政府采购网(www.ccgp....https://zfcg.pingtan.gov.cn/upload/document/20220707/26aa62ad37a1451dbafba608a1355991.html
7.郑刚:分享实战软文赚钱培训目录和说明6、微信公众号 7、QQ公众平台 8、百度百家 9、北京时间 10、简书 2、博客 1、新浪 2、搜狐 3、网易 4、QQ空间 5、凤凰 6、天涯 7、豆瓣 8、知乎 3、论坛 1、天涯 2、百度贴吧 4、文库 1、百度文库 2、360DOC 3、豆丁 4、道客巴巴 4.2. 2、自己写,别人发 ...http://zhenggang.org/58.html
8.新媒体下旅游目的地营销研究――以安徽省灵璧县为例工业旅游营销方案3.4 微博微信公众号 5 3.5 广告植入 5 4 灵璧县旅游发展环境与旅游营销现状 6 4.1 灵璧县旅游概况 6 4.2 灵璧县旅游营销环境分析 6 4.3 新媒体下灵璧县旅游营销现状分析 8 5 新媒体下灵璧县旅游营销的强化与优化 8 5.1 加强新媒体营销的必要性 8 ...https://blog.csdn.net/Landscape1112/article/details/80118680
9.运营实习总结在乔布做实习的这四个月里,我收获了很多,在燕哥的指导下,我学会了内容运营,社群 运营,新媒体运营,产品运营,活动运营,微信公众号运营,微博运营;学会了麦克表单,草料二维码,创客贴,腾讯微校,135编辑器的使用;学会了文案创作,用户心理,写简历。感谢乔布,让我有机会认识许多志同道合的小伙伴,让我认识了许多更优秀...https://www.jy135.com/shixizongjie/1190300.html
10.公众号编辑岗位职责(工作内容,是做什么的)1、负责公众号、企业官网等平台内容规划、撰写与更新 2、每逢节假日海报策划及公司内部活动策划与执行 3、管理企业形象资产,如品牌商标、企业宣传物料、品牌VI系统等对内事物管理 岗位要求 1、对新媒体策划、文案编辑、品牌策划、网络营销、渠道推广等营销方式,至少有一项比较熟悉 ...https://www.jobui.com/gangwei/gongzhonghaobianji/request/jilinsheng/