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

Python爬虫与数据挖掘

共 2475字,需浏览 5分钟

 · 2020-11-19

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

转轴拨弦三两声,未成曲调先有情。


前言

记得高中那会各类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有趣的第三方库给大家!

------------------- End -------------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报