只需几行代码!这个 Python 库轻松实现了当年的QQ轰炸机!
本文转载自公众号「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 条上海二手房信息,我得出的结论是?