用python写一个非常简单的QQ轰炸机
闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了。。
思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏,那我只需要实现两个基本的要求就行了
1、程序能在消息输入框自动输入信息
2、程序能自动把信息发送过去
按照这个思路,我查到python的pynput库能控制鼠标和键盘,并且发现qq打开一个聊天弹窗,键盘的输入就是将要发送的信息,那接下来问题就好解决了
首先写一个函数,函数功能是控制键盘输入你想要的信息,代码如下:
def keyboard_input(string): ''' :param string: 你想要发送的信息 :return: None ''' from pynput.keyboard import Key,Controller #导入相应的库 keyboard = Controller() #开始控制键盘 keyboard.type(string) #键盘输入string return None
其次,用另一个函数实现发送功能,代码如下:
def mouse_click():#点击发送消息 from pynput.mouse import Button,Controller #导入相应的库 mouse = Controller() #开始控制鼠标 mouse.press(Button.left) # 按住鼠标左键 mouse.release(Button.left) # 放开鼠标左键 return None
注意,我这样没有设置鼠标的位置,这就需要你把鼠标停放在发送按钮上
最后,用一个函数来控制发送多少条在信息,代码如下:
def main(number,string):#参数分别表示你要发多少条信息和发送的内容 import time #导入time time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上 for i in range(number):#用循环来控制你发送多少条消息 keyboard_input(string) mouse_click()
现在,你只需要运行这个函数,然后你有5s的时间打开聊天框,把鼠标停放在发送按钮上,就实现了qq消息轰炸,虽然很弱智,很简单,但是功能还是实现了的
效果图如下:
完整代码:
def keyboard_input(string): ''' :param string: 你想要发送的信息 :return: None ''' from pynput.keyboard import Key,Controller #导入相应的库 keyboard = Controller() #开始控制键盘 keyboard.type(string) #键盘输入string return None def mouse_click():#点击发送消息 from pynput.mouse import Button,Controller #导入相应的库 mouse = Controller() #开始控制鼠标 mouse.press(Button.left) # 按住鼠标左键 mouse.release(Button.left) # 放开鼠标左键 return None def main(number,string):#参数分别表示你要发多少条信息和发送的内容 import time #导入time time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上 for i in range(number):#用循环来控制你发送多少条消息 keyboard_input(string) mouse_click() time.sleep(0.2) if __name__ == '__main__': main(20,"我太牛逼了")
总结:虽然代码才20多行,但是基本功能还是实现了的,但是也可以改进一下,比如:发送消息看上去很枯燥,你可以写一个消息列表,每次循环随机选取一个消息发送;还可以设置延时,可以设置多久时间发送多少条消息。当你把一些附加小功能完善后,你还可以把你写的这个程序打包起来,形成一个exe文件,发送给你的朋友,即使他电脑上没有python解释器,也可以运行,具体的打包过程我就不写了,自行百度。
用python写一个非常简单的QQ轰炸机的更多相关文章
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- 用qpython3写一个最简单的发送短信的程序
到目前为止并没有多少手机应用是用python开发的,不过qpython可以作为一个不错的玩具推荐给大家来玩. 写一个最简单的发送短信的程序,代码如下: #-*-coding:utf8;-*- #qpy ...
- Python写一个自动点餐程序
Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...
- 【spring】-- 手写一个最简单的IOC框架
1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <b ...
- 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...
- [py]python写一个通讯录step by step V3.0
python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...
- 【Python】如何基于Python写一个TCP反向连接后门
首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...
- 用python写一个自动化盲注脚本
前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...
- python写一个能变身电光耗子的贪吃蛇
python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...
随机推荐
- 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...
- vmware虚拟机磁盘挂载
执行mount命令时找不到介质或者mount:no medium found的解决办法 使用vmware时,在虚拟机设置里,设置CD/DVD为系统镜像,挂载时,有时会有找不到介质或者no medium ...
- 关于vue中如何配置echarts以及使用方法
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...
- 【转载】Centos7修改root密码
参考: https://blog.csdn.net/wcy00q/article/details/70570043 知道root密码,需要修改密码 以root登录系统输入passwd命令默认修改roo ...
- safari下载中文文件名乱码
原因:响应头设置content-disposition,主要遵循 RFC 5987标准. response.setHeader("content-disposition",&quo ...
- MySQL之CONCAT()的用法
mysql CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍mysql CONCAT()函数,供您参考 mysql CONCAT(str1,st ...
- C#中上下文Context的理解
上下文指的是 进程间占有的资源空间. 当一个进程时间片到了或者资缺的时候就会让出cpu 当另一个进程开始始用CPU之前,系统要保存即将退出进程的执行状态,以便轮到时间片或有资源的时候现场恢复.这就所谓 ...
- python学习第37天
MySQL数据库 数据库的优势 什么是数据(Data) 什么是数据库(DataBase,简称DB) 什么是数据库管理系统(DataBase Managerment System 简称DBMS) 数据库 ...
- 高德JSAPI获取当前所在位置的经度纬度
这是在浏览器中的效果: 控制台打印出来的就是经度纬度的值 代码如下: <!doctype html> <html> <head> <meta charset= ...
- javascript中new Date()存在的兼容性问题
问题:通过new Date()创建的时间对象在Chrome能正常工作,但在IE浏览器却显示NaN 代码: var time = new Date(date + ' 00:00:00'); //NaN ...