前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >只需几行代码!这个python库轻松实现了当年的QQ轰炸机

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

作者头像
Python进击者
发布2020-05-08 11:36:49
3.8K0
发布2020-05-08 11:36:49
举报
文章被收录于专栏:JAVAandPython君

前言

记得高中那会各类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来运行。思路给大家,实践就靠自己啦!

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pynput
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档