人类和动物最实质的区别就是人类懂的制作并应用工具,这是由上古时代始终连续至今的基因所决定的。

前段时间敌人的一个业务须要大量的原创短视频,问我是否能够帮忙弄下,我理解了具体需要之后发现不须要很高质量的内容,操作也不是很简单,齐全能够通过 Python 实现自动化操作,也是就把这个事给应承了下来。

咱们晓得 PyAutoGUI 是一个通过编程形式来管制鼠标和键盘的 Python 库,那么就从它身上下手了。

装置
Win 和 macOS 的装置命令有所不同。

## windowspy -m pip install pyautogui## macOSpython3 -m pip install pyautogui

屏幕地位
屏幕上的地位由笛卡尔坐标示意,X 坐标从左上角的 0 开始,向右减少,与数学不同,Y 坐标从左上角 0 开始,向下减少。

因而左上角的像素位于坐标(0,0),如果你的屏幕分辨率为 1920 x 1080,则右下角的像素将为(1919, 1079),因为像素是从坐标 0 开始的。屏幕分辨率大小能够通过 size() 函数取得,以后鼠标地位则能够通过 position() 函数取得。

0,0       X increases -->+---------------------------+|                           | Y increases|                           |     ||   1920 x 1080 screen      |     ||                           |     V|                           ||                           |+---------------------------+ 1919, 1079
import pyautoguix, y = pyautogui.position()print(x, y)x, y = pyautogui.size()print(x, y)## 输入后果545 4371440 900

鼠标挪动
鼠标的挪动则分为相对坐标挪动和绝对坐标挪动。

比方你想将鼠标挪动到坐标(100,100)处,间接调用 moveTo 函数即可。

import pyautogui# 将鼠标挪动至(100,200)坐标处pyautogui.moveTo(100, 200)   # 将鼠标挪动至(100,500 坐标处pyautogui.moveTo(None, 500)  # 将鼠标挪动至(600,500)坐标处pyautogui.moveTo(600, None)# 将鼠标挪动至(100,200)坐标处,该挪动过程是一个持续性过程,耗时 2 秒pyautogui.moveTo(100, 200, 2)

而 move 函数则是简略的绝对挪动。

import pyautogui# 将鼠标挪动至(100,200)坐标处pyautogui.moveTo(100, 200)# 将鼠标向下挪动 50 像素pyautogui.move(0, 50)# 将鼠标向左挪动 30 像素pyautogui.move(-30, 0)# 将鼠标向左挪动 30 像素pyautogui.move(-30, None)

鼠标拖拽
和鼠标挪动相比,鼠标拖拽同样分为相对坐标拖拽和绝对坐标拖拽。同样 dragTo 函数应用相对坐标,drag 应用绝对坐标。

import pyautogui# 按住鼠标左键将指标拖拽至(100,200)坐标处pyautogui.dragTo(100, 200, button='left')     # 按住鼠标左键将指标拖拽至(100,200)坐标处,该挪动过程是一个持续性过程,耗时 2 秒pyautogui.dragTo(100, 200, 2, button='left')  # 按住鼠标右键将指标向右挪动 30 个像素,该挪动过程是一个持续性过程,耗时 2 秒pyautogui.drag(30, 0, 2, button='right')

鼠标点击
咱们能够通过 click() 函数模仿鼠标单击。

import pyautogui# 在以后地位单击左键pyautogui.click()# 将鼠标挪动至(100,200)坐标处,而后单击左键# 然而这个办法有点奇怪,有时候会失灵,能够应用 moveTo + clickpyautogui.click(x=100, y=200)# 在以后地位单双击左键pyautogui.doubleClick()

管制键盘
键盘管制个别罕用的就是输出字符串,按下某个按键以及组合键。

import pyautogui# 输出 “Hello World”pyautogui.write('Hello world!')# 按下 enter / F1 键 pyautogui.press('enter')pyautogui.press('f1')# 组合按键 command + apyautogui.hotkey('command', 'a')

制作视频
有了以上的根底,就能够开始咱们的视频制作了,这次应用的是剪映软件。

这里你须要相熟一下剪映的操作步骤,根本分为三块:将指定图片拖入视频轨道、调整视频时长、导出。

# coding=utf-8import timeimport pyautogui# 将图片拖入轨道def drag_img_to_track():    # 选中图片    pyautogui.moveTo(170, 270)    pyautogui.doubleClick()    # 拖拽图片至轨道    pyautogui.dragTo(120, 600, 1, button='left')# 调整视频时长def drag_img_to_3_min():    # 选中轨道中的第一张图    pyautogui.moveTo(125, 600)    pyautogui.click()    # 拖拽至第三分钟    pyautogui.moveTo(135, 600)    pyautogui.dragTo(700, 600, 1, button='left')# 删除旧的素材def delete_top_img():    # 删除轨道中的第二张图片    pyautogui.moveTo(300, 160)    pyautogui.doubleClick()    pyautogui.press("backspace")    # enter yes    pyautogui.moveTo(650, 470)    time.sleep(0.5)    pyautogui.click()# 导出def export(name):    pyautogui.moveTo(126, 600)    pyautogui.click()    pyautogui.hotkey('command', 'e')    pyautogui.write(name)    time.sleep(1)    pyautogui.moveTo(800, 393)    pyautogui.click()    time.sleep(20)    pyautogui.click()index = 0count = 2while index < count:    drag_img_to_track()    drag_img_to_3_min()    delete_top_img()    export(str(index))    time.sleep(2)    index += 1    print("end..." + str(index))

总结
明天咱们通过 pyautogui 实现了全自动制作视频,咱们只须要将素材导入到剪映中即可。

因为 gif 大小限度,只录制了一小部分,你能够通过调整主函数中的 count 值来管制制作视频的个数。

以上就是本次分享的所有内容,想要理解更多 python 常识欢送返回公众号:Python 编程学习圈,每日干货分享