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

杰哥的IT之旅

共 2381字,需浏览 5分钟

 ·

2021-02-18 20:05

本文转载自公众号「Python进击者」,详情可以扫描下方二维码,关注该公众号,获取更多好文推荐。

前言

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

pynput

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

pip install pynout

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

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

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)

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

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来运行。思路给大家,实践就靠自己啦!

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

总结

这篇文章就到这了,大家多多在看,我会分享更多Python有趣的第三方库给大家!

推荐阅读

我用 Python 分析了一波热卖年货,原来大家都在买这些东西?

利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

情人节,不懂送女朋友什么牌子的口红?没关系!Python 数据分析告诉你。

利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?

利用 Python 爬取了 37483 条上海二手房信息,我得出的结论是?

浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报