只需几行代码!这个python库轻松实现了当年的QQ轰炸机

2020-05-08 11:36:49 浏览数 (1)

前言

记得高中那会各类QQ轰炸机、短信轰炸机遍布网络,当时由于技术比较菜,不太懂如何制作的,只知道如何使用。最近我看到一个Python库,非常有意思,可以操作键盘和鼠标,就来分享给大家。我会带大家实现一下简易粗糙版的QQ轰炸机功能。这个库当然也是可以运用到一些其他的地方,当你有需要操作键盘或者鼠标需求时,你就应该想到这个库。

pynput

首先,我们还是来安装这个库:

代码语言:txt复制
pip install pynout

因为win版本的QQ和mac版本的QQ有一点差别,mac版本是只能通过按回车键来发送消息,而win版本的QQ回车或者点击发送按钮都可以发送消息。这里我会把两种方式给大家。

首先我们需要导入pynput库以及time库

代码语言:txt复制
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Controller
import time

我们首先需要控制键盘,来帮我们输入一些我们想要的信息:

代码语言:txt复制
def input(content):
    # 导入相应的库
    keyboard = Controller()  # 开始控制键盘
    keyboard.type(content)  # content
    # 回车键,发送消息。点击和回车只能选一种,防止发生错误
    keyboard.press(Key.enter)

如果我们需要点击功能,我们也加上点击功能

代码语言:txt复制
# 如果是win系统,可以选择使用点击功能,并且运行代码后将鼠标放在发送按钮上!
def click():  # 点击发送消息
    # 导入相应的库
    mouse = Controller()  # 开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键

其实发送消息的步骤最多也就这两个,甚至可以省略点击。

代码语言:txt复制
# number表示你要发多少条信息,content表示发送的内容
def main(number, content):
  # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
  time.sleep(5)
  for i in range(number):  # 用循环来控制你发送多少条消息
      input(content str(i))
      # 通过点击按钮来发送
      # click()
      # 间隔时间
      time.sleep(0.6)

最后,我们调用以上方法即可,下面给出完整代码

代码语言:txt复制
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Controller
import time

def input(content):
    # 导入相应的库
    keyboard = Controller()  # 开始控制键盘
    keyboard.type(content)  # content
    # 回车键,发送消息。点击和回车只能选一种,防止发生错误
    keyboard.press(Key.enter)


# 如果是win系统,可以选择使用点击功能,并且运行代码后将鼠标放在发送按钮上!
def click():  # 点击发送消息
    # 导入相应的库
    mouse = Controller()  # 开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键


# number表示你要发多少条信息,content表示发送的内容
def main(number, content):
    # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
    time.sleep(5)
    for i in range(number):  # 用循环来控制你发送多少条消息
        input(content str(i))
        # 通过点击按钮来发送
        # click()
        # 间隔时间
        time.sleep(0.6)


if __name__ == '__main__':
    main(100, "我是kuls,欢迎关注Python进击者!!!")

可能大家会想到QQ轰炸机每次发送的都是不同的话,你这里只有一句?当然,你可以去搜此类句库,然后每一次随机抽取一句出来发送,不就OK了吗。如果你真的很想做出个成品,你还可以打包成exe来运行。思路给大家,实践就靠自己啦!

最后,来看下我们实现的效果吧!

0 人点赞