【办公类

您所在的位置:网站首页 下载微信公众号文章 【办公类

【办公类

2024-07-14 09:17| 来源: 网络整理| 查看: 265

作品展示:

背景需求:

需要将公众号上的照片打包下载,图片按照01-50的方式排序

手动下载要点开大图

右击另存更高文件名-保存

点击下一张

循环以上动作。

我感觉手动下载都是重复的,如果30张图片,就要重复“箭头-右键-另存-输入名称-保存”的动作30次,特别是更改01、02、03的编号,容易记错。 所以我编写了一个UIBOT自动下载公众号程序的代码

代码设计:

以下是UIBOT代码(这里选择C++代码) Dim sRet,temp,sPath,sText,bRet,objPoint Rem 找到第一张图片并点击打开 Rem 另存一次指定路径 Rem 右箭头换下一张,准备下载 Rem 预估张数,宁多不要少 name=Dialog.InputBox("文件夹名称","Laiye Automation","",false) File.CreateFolder('''C:\Users\jg2yXRZ\OneDrive\桌面\'''&name) sPath = File.ParentPath('''C:\Users\jg2yXRZ\OneDrive\桌面\'''&name) TracePrint(sPath+'\\'+name) 路径 = sPath+'\\'+name For a = 0 To 0 step 1 Mouse.Move(954, 519, false,{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Click("right", "click", [],{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Move(1000, 569, false,{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Click("left", "click", [],{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Action(@ui"框线项目_21","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 100, "iDelayBefore": 100, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false}) Delay(1000) Mouse.Move(782, 215, false,{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Click("left", "click", [],{"iDelayAfter": 100, "iDelayBefore": 100}) Keyboard.Input(路径,{"iDelayAfter": 100, "iDelayBefore": 100, "sSimulate": "message"}) Keyboard.Press("Enter", "press", [],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "simulate"}) Delay(1000) Keyboard.InputText(@ui"窗口_微信图片_20240306171212.png1","000",true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false}) Delay(1000) Mouse.Action(@ui"窗口_保存(S)2","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 100, "iDelayBefore": 100, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false}) Keyboard.Press("Right", "press", [],{"iDelayAfter": 100, "iDelayBefore": 100, "sSimulate": "simulate"}) Next For i = 1 To 100 step 1 Mouse.Move(954, 519, false,{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Click("right", "click", [],{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Move(1000, 569, false,{"iDelayAfter": 100, "iDelayBefore": 100}) Mouse.Click("left", "click", [],{"iDelayAfter": 100, "iDelayBefore": 100}) Delay(1000) Keyboard.Input(Format("%03d",i),{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"}) Delay(1000) Mouse.Action(@ui"窗口_保存(S)2","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 100, "iDelayBefore": 100, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false}) Keyboard.Press("Right", "press", [],{"iDelayAfter": 100, "iDelayBefore": 100, "sSimulate": "simulate"}) Next 视频展示:

uibot 单张下载微信公众号图片

说明: 1、下载的图片包含公众号模板里面的图片,需要手动删除

2、删除图片后,文件编号就不是连贯的

3、使用替换文件名的方法,更改序号。 '''' 下载公众号图片,所有图片按照文件名改成01 02、03 作者:AI对话大师 时间:2024月3月7日 ''' import os import shutil folder_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\雷锋纪念日' file_list = os.listdir(folder_path) image_list = [file for file in file_list if file.lower().endswith(('.jpg', '.png'))] for i, image_file in enumerate(image_list): new_file_name = f"{str(i+1).zfill(2)}{os.path.splitext(image_file)[1]}" old_file_path = os.path.join(folder_path, image_file) new_file_path = os.path.join(folder_path, new_file_name) shutil.move(old_file_path, new_file_path)

打包发送

把公众号的信息(文字+图片)打包上传

感悟: 1、下载时间比较长: 公众号一共下载了50张图片(包括模板里的png和GIF),删除不需要的插图后,还有20张。下载时间5分钟。 2、确保了图片顺序: UIBOT下载确保了每张图片按照顺序下载 3、编号让重复图片也能下载 当网页中有相同的图片(主要是背景模板里面的装饰插图),用001、002的编号,可以让相同图片也能顺利想在,不会提示“图片已存在”。 4、使用Python为图片重新编号:

手动删除下载图片中的重复背景插入后,剩余图片的编号不连贯,使用Python为已经排序的图片重新设定01、02、03的编号。实现最终的“公众号图文打包归档”的需求



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3