【办公类-39-01】批量下载微信公众号图片(一)UIBOT图片下载

作品展示:

背景需求:

需要将公众号上的照片打包下载,图片按照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的编号。实现最终的“公众号图文打包归档”的需求

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值