|
* 本帖主要介绍一些实用的 IT 技巧 *
最近在学习射影几何,除了一众教材之外,《射影几何的初等说明》(https://tieba.baidu.com/p/7682645300 )无疑最适合我等基础薄弱者,其中大量且经典的例子,更是妙乐可言。
而其中的主要内容,则以 PPT 图片的形式存在,那么,怎么将这些图片都下载到本地呢?无它,右键,图片另存为,再点下一张,重复操作。具体而言,首先将需要的帖子对应的标识(7682645300)加入到 tieba.baidu.com/photo/p?tid= 之后,就可以打开该帖子对应的大图网址(tieba.baidu.com/photo/p?tid=7682645300),然后鼠标右键,图片另存为,再点下一张,不断重复。
而这样的重复操作,交给 AutoHotKey 就再合适不过了,将经下代码写到文件 tieba.ahk 中,然后运行 autohotkey tieba.ahk,按 F12 就可以逐张图片下载了。
- ; 用于调整每次操作的延时,以保证浏览器有足够的时间响应下面的模拟操作n := 10F12:: CoordMode, Mouse, Screen ; 根据网页中提示的图片张数设置循环次数 Loop, 215 { ; 模拟点鼠标右键,发出点击后,将弹出右键菜单 MouseClick, right, 710, 560 Sleep 30*n ; 将鼠标移到图片“另存为"菜单项,再按左键确认下载 ; 发出模拟点击左键消息,之后将弹出“另存为”的对话框 MouseClick, left, 780, 620 Sleep 100*n ; 将鼠标移到“另存为”的对话框,点击“确认”按键,完成下载保存到本地 MouseClick, left, 250, 465 Sleep 30*n ; 继续将鼠标移到某恰当位置,按左键,切换到下一张 MouseClick, left, 1200, 560 Sleep 30*n }return
复制代码
上述操作需要预先确认该帖子共有多少张图片,下面略加修改,让程序不停地模拟操作下一张,直到用户主动中止这个过程:
- ; 用于调整每次操作的延时,以保证浏览器有足够的时间响应下面的模拟操作n := 10; 当用户按下 ESC 键,isbreak 将设置为 1,将退出下面的循环isbreak := 0; 设置 ESC 热键ESC:: isbreak = 1return; 设置 F12 热键F12:: CoordMode, Mouse, Screen ; 循环足够多的次数(这样一来就需要手式按 ESC 中断循环了) Loop, 10000 { ; 模拟点鼠标右键,发出点击后,将弹出右键菜单 MouseClick, right, 710, 560 Sleep 30*n ; 将鼠标移到图片“另存为"菜单项,再按左键确认下载 ; 发出模拟点击左键消息,之后将弹出“另存为”的对话框 MouseClick, left, 780, 620 Sleep 100*n ; 将鼠标移到“另存为”的对话框,点击“确认”按键,完成下载保存到本地 MouseClick, left, 250, 465 Sleep 30*n ; 继续将鼠标移到某恰当位置,按左键,切换到下一张 MouseClick, left, 1200, 560 Sleep 30*n If (isbreak == 1) { isbreak = 0 break } }return
复制代码 |
|