以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理。也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了。今天偶然看到一篇文章,是用python调用win32的接口发送qq消息的,觉得不错,就先记录下来,日后肯定会用得上这些小工具。
发送qq消息要求已经登陆qq,而且qq的窗口是独立的,现在新版的qq一般都是将所有的聊天窗口聚合在一起,因此要设置将qq窗口分离,或者将需要发送消息的那个窗口单独分离出来。
上代码吧。
# 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口
# 之后模拟按键发送enter键发送消息import win32gui
import win32con
import win32clipboard as wdef getText():"""获取剪贴板文本"""w.OpenClipboard()d = w.GetClipboardData(win32con.CF_UNICODETEXT)w.CloseClipboard()return ddef setText(aString):"""设置剪贴板文本"""w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT, aString)w.CloseClipboard()def send_qq(to_who, msg):"""发送qq消息to_who:qq消息接收人msg:需要发送的消息"""# 将消息写到剪贴板
    setText(msg)# 获取qq窗口句柄qq = win32gui.FindWindow(None, to_who)# 投递剪贴板消息到QQ窗体win32gui.SendMessage(qq, 258, 22, 2080193)win32gui.SendMessage(qq, 770, 0, 0)# 模拟按下回车键
    win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)win32gui.SendMessage(qq, win32con.WM_KEYUP, win32con.VK_RETURN, 0)# 测试
to_who='xxx'
msg='这是测试消息'
send_qq(to_who, msg)

特别说明:to_who中填写的是聊天窗口的名字,而非QQ号码。(也就是是网名或备注名,具体的也可以在任务管理器中查看)

模拟按键

python可以通过win32和windows做各种交互,网上还有一篇文章是批量操作文件的例子,其原理和按键精灵差不多。只是好多参数不懂。就好比上面的发送qq消息的例子,本来想改改其中的方法,跳过剪贴板这一步,可是怎么改都不行,以后再试试。

参考:

http://blog.csdn.net/dahuae/article/details/43969175
http://blog.csdn.net/seele52/article/details/17504925
http://lixxu.iteye.com/blog/417218
http://www.codeweblog.com/%E7%94%A8pywin32%E5%AE%9E%E7%8E%B0windows%E6%A8%A1%E6%8B%9F%E9%BC%A0%E6%A0%87%E5%8F%8A%E9%94%AE%E7%9B%98%E5%8A%A8%E4%BD%9C/

以上转载自http://blog.csdn.net/suzyu12345/article/details/52934328

我们通过这个功能可以为爬虫干什么事情呢?我首先想到的就是利用这个功能可以监控爬虫的进度。比如如果爬取的时间太长,一天两天或者更长,我们不可能一直盯着屏幕,这个时候我们就可以使用这个功能了。

当爬虫程序结束或者报错停止的时候,我们可以给我们自己的qq发送消息,提示我们爬虫结束了。

利用scrapy中pipelines.py文件,如下的方法:

def close_spider(self,spider):

当程序执行完毕的时候,调用上方的代码,提示我们爬虫结束,达到监控的目的

转载于:https://www.cnblogs.com/lilinpging/p/8304941.html

关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)...相关推荐

  1. iis php报错无法屏蔽,php屏蔽错误消息

    定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定,当前报 ...

  2. C# 操作CAD报错【COMException (0x8001010A)消息筛选器显示应用程序正在使用中】的一种处理方式

    C# 操作CAD报错[COMException (0x8001010A)消息筛选器显示应用程序正在使用中] 使用了dynamic关键字依然无法解决,程序运行了5次可能出现3次此错误. 网上搜索了很多方 ...

  3. python 消息框但不影响程序执行_还在用print()查找错误?日志消息不香嘛?| 原力计划...

    作者 | 灰小猿 责编 | 王晓曼 出品 | CSDN博客 最近在做项目开发的时候,跟小伙伴聊到修 Bug 这件事. 嗯,对于一只没技术的程序猿来说,修 Bug 的确是一件让人头疼的事情,尤其是对于比 ...

  4. Python爬虫报错HTTPSConnectionPool(host=‘heat.qq.com‘, port=443)处理

    1.在爬虫时出现报错: requests.exceptions.SSLError: HTTPSConnectionPool(host='heat.qq.com', port=443): Max ret ...

  5. python编程语言的缺点-常见的AI编程语言优缺点比较,程序员千万不要入错行!...

    原标题:常见的AI编程语言优缺点比较,程序员千万不要入错行! 人工智能编程是一种技术的提升,为不同公司的运营和人们的生活带来了极高的效率和最佳效益. 人工智能为不同的行业带来了另一种智能技术,其潜力的 ...

  6. DM backup database 报错[-7169](bakres与dmap消息通信失败)

    达梦技术社区:https://eco.dameng.com [报错现象] SQL> backup database backupset 'dm3bak01'; backup database b ...

  7. 用Python初学机器学习时碰见ValueError: Iterable over raw text documents expected, string object received.报错解决方法

    今天在学习Python机器语言中特征数据抽取的时候,有一段代码报错信息如下: res = vector.fit_transform("hello word , i like apples&q ...

  8. python执行js文件报错_使用PyV8在Python爬虫中执行js代码

    前言 可能很多人会觉得这是一个奇葩的需求,爬虫去好好的爬数据不就行了,解析js干嘛?吃饱了撑的? 搜索一下互联网上关于这个问题还真不少,但是大多数童鞋是因为自己的js基础太烂,要么是HTML基础烂,要 ...

  9. 报错解决——腾讯QQ安装无法正常安装

    安装QQ时遇到此报错, 目录没有写入权限: 解决办法: 修改注册表 1.打开"运行",输入regedit 按下列顺序打开 [HKEY_LOCAL_MACHINE\SYSTEM\Cu ...

最新文章

  1. Centos6 系统下,已经安装vim的前提下。执行操作vim,出现报错
  2. Java-大集合拆分为指定大小的小集合
  3. HTH的完整形式是什么?
  4. java学习(143):file方法类实现
  5. 总结《Ray Tracing from the Ground Up》
  6. 数据挖掘的办法有哪些
  7. 【计算机网络】【硬件】交换机芯片介绍
  8. linux脚本取消空格,Shell去除空格和空行的方法
  9. jq22插件库视频播放插件Video.js,jq22资源分享
  10. 牛顿科茨matlab,牛顿-科茨(Newton-Cotes)公式算法.doc
  11. Excel 2010 VBA 入门 043 按自定义序列进行排序
  12. 孩子学习arduino好还是单片机好
  13. ABP Vnext 扩展微信小程序授权登录
  14. matlab ekf算法讲解,EKF_AHRS(matlab实现)
  15. 爱快可迅速普及家庭专线?
  16. 如何查看Linux版本.
  17. 基本DOS命令---3.修改文件夹和文件属性
  18. 怎样删掉应用宝统一连接服务器,电脑应用宝连不上手机 电脑应用宝连不上手机处理方法...
  19. 智慧电厂拥抱“双碳”,空冷岛设施数字化转型
  20. Butterfly主题安装文档(三)之主题配置2

热门文章

  1. win10关闭快速启动_注意:win10系统快速启动功能虽然好用,但也会带来一些麻烦...
  2. ShardingSphere5
  3. 数据中心UPS不间断电源系统架构介绍
  4. Qt 系统下的qm翻译文件
  5. M1 电脑可以体验Windows11系统吗?M1 MAC安装win11详细教程(附图解)
  6. ICIP2021:VVC RPR参考结构改进
  7. 闪迪u盘不能识别好办法_SanDisk U盘无法被64位Windows7电脑识别
  8. c语言课程设计报告之迷宫,C语言课程设计-迷宫游戏
  9. 初中算题可以使用计算机吗,初中生计算机考试试题总汇
  10. 香帅的北大金融学课笔记8 -- 债务与债券