今天继续新的专题。主要讲解【利用PYTHON制作桌面版爬虫软件】下的如何实现界面功能(一)。该讲主要包括以下三个内容:掌握如何编写主函数,运行界面。

了解pywin32模块。

如何用python识别QQ好友或者QQ群对话框。

题外话,我的知乎专栏:PYTHON挖掘机已经开通,大家可以关注下,以方便文章的及时提醒与查看。本系列课程讲述“PYTHON爬虫之旅”,具体大纲可参考:【PYTHON爬虫之旅】概要目录。

开始本讲的讲解:

1. 掌握如何编写主函数,运行界面

上一讲,我们已经生成了界面的语言代码。但是怎么用代码把它运行出来呢?这里需要添加主函数。新建Main.py:

# -*- coding: utf-8 -*-

import sys, time

from PyQt4.QtCore import *

from PyQt4 import QtCore, QtGui

from qq_define import Ui_Form

import sys

reload(sys)

sys.setdefaultencoding( "utf-8" )

class StartQt4(QtGui.QMainWindow):

def __init__(self, parent=None):

QtGui.QWidget.__init__(self, parent)

self.ui = Ui_Form()

self.ui.setupUi(self)

##主程序入口

if __name__ == "__main__":

app = QtGui.QApplication(sys.argv)

myapp = StartQt4()

myapp.show()

sys.exit(app.exec_())

运行这个主程序,刚才画的界面就能出来啦!

然后,上一讲有提到要实现的功能步骤分为以下几步:通过账号,密码登录目标网站。

获取登陆后的目标页面的源代码。

解析源码,更新到界面上。

将抓取到的直播文字信息,发送给制定的QQ好友或者是QQ群。

每隔固定时间抓取一次,定时更新。

第1、2、3、5步,模拟登陆、解析源码,定时抓取都比较容易实现,再此不再赘述。唯一了解可能比较少的是如何将抓取到的文字信息,发送给指定的QQ好友或者QQ群呢?

2. 了解pywin32模块

这里我们要隆重介绍以下pywin32这个模块:Windows pywin32允许你像VC一样的形式来使用PYTHON开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,那么这就是一个不错的选择。利用pywin32你可以像人工操作电脑一样,用python来自动化电脑操作。包括复制粘贴,鼠标移动,键盘输入等等。李勇pywin32,你可以编写很多脚本,应用于游戏刷怪,批量点击等场景。今天我们主要来讲述一下如何用它将抓取到的文字信息发送到QQ群或者QQ好友。

3. 如何用python识别QQ好友或者QQ群对话框

今天我们用到pywin32的四个模块:

import win32api

import win32con

import win32gui

import win32clipboard

Windows对于每个框体都有一个句柄函数。利用句柄可以操作对应的框体。遗憾的是,QQ文本输入框隐藏了单独的句柄函数或者整个QQ对话框都是重绘的,整体就只有一个句柄。经过查询QQ对话框或者QQ群对话框对应的句柄是‘ChatBox_PreviewWnd’,了解了它,就可以操控对话框了。通过下面的代码就可以识别哪一个QQ好友或者QQ群啦。

windows = []

win32gui.EnumWindows(self._MyCallback, (windows))

qun_name = []

for hwnd in windows:

single_form = win32gui.GetClassName(hwnd)

if single_form == 'ChatBox_PreviewWnd':

qq_name = win32gui.GetWindowText(hwnd)

qun_name.append(qq_name)

最核心的部分已经实现啦,这也就是今天本讲的全部内容了。

总结一下本讲的主要内容:掌握如何编写主函数,运行界面。

了解pywin32模块。

如何用python识别QQ好友或者QQ群对话框。

相信,了解了这几个关键步骤后,你已经能轻松编写一个合格的桌面软件了!快动手试试吧!

什么?还是遇到了一些困难?好吧,那我们下一讲继续喽~

下一讲主要讲述:如何发送文字给指定好友或群。

如何实现界面多线程。

如何打包成exe可执行程序。

我们下一讲见!

本专题将于微信公众号【一只IT汪】首发,欢迎大家的关注,谢谢!

本系列教程将不定期更新,敬请关注 :)

如果喜欢,请一定记得点赞哟~ 你的赞就是我更新的动力~ o(*≧▽≦)ツ

python制作电脑软件_利用PYTHON制作桌面版爬虫软件(二)相关推荐

  1. python制作电脑软件_利用PYTHON制作桌面版爬虫软件(一)

    抱歉,对长沙房地产数据的挖掘与分析[三],想了蛮久,觉得对自己的分析结果不是很理想.等我完善好了,我再发出来吧.今天继续开启新的一专题.主要讲解如何用PYTHON实现简单的桌面软件的制作. 题外话,我 ...

  2. python制作阴阳师脚本_利用python制作一个阴阳师小游戏

    利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...

  3. python制作图片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  4. python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...

    小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...

  5. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  6. 钉钉python 自动发消息软件_利用Python自动发送钉钉数据消息,一个简单的上手小项目...

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  7. python获取计算机配置_利用python写一段读取电脑配置信息的程序

    展开全部 主要利用python的wmi模块,提供非常多的信息.import wmi def sys_version(): c = wmi.WMI() # 操作系统版本,版本号,32位/64位 prin ...

  8. python账单查询软件_利用Python批量识别电子账单数据的方法

    这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...

  9. python自定义函数画图_利用Python绘图和可视化(长文慎入)

    Python有许多可视化工具,但是我主要讲解matplotlib(http://matplotlib.sourceforge.net).此外,还可以利用诸如d3.js(http://d3js.org/ ...

最新文章

  1. 【FFmpeg】使用sws_scale将AVFrame转换后的图像数据放入cv::Mat中
  2. [Machine Learning]--无监督学习
  3. 1010. 一元多项式求导
  4. c盘users的用户名怎么改_怎么修改iPhone备份文件夹路径 iPhone C盘路径修改教程【详解】...
  5. codevs 1422 河城荷取
  6. 时域有限差分法matlab程序,时域有限差分法的Matlab仿真
  7. 电脑写作与发布哪款软件好?
  8. 南通大学计算机专业校区,南通大学计算机科学与技术专业
  9. 1.1、什么是编程?
  10. Cadence Allegro Artwork光绘文件参数设置
  11. mysql57压缩包安装教程
  12. rust react tauri app 现有前端项目打包(windows)
  13. MySQL数据库实操教程(23)——数据库备份与还原
  14. 一个所谓的“文字创作者”的焦虑
  15. 智美2.0 文字格式化
  16. 世界女性科技群落(四):技术与流行文化顶格发展,日韩女性的科技暗面
  17. This primary key of id is primitive 不建议如此请使用包装类 in Class
  18. Visual Studio 2019 安卓开发(一)
  19. 一篇文章带你搞定数学建模中的灰色预测模型(05年长江水质问题示例讲解含代码)
  20. java List 线程安全

热门文章

  1. 百度二级域名批量绑定软件,绕过验证码错误机制
  2. python毕业设计选题推荐100例
  3. 学计算机好还是高铁好,高铁专业好不好
  4. 对Android系统权限的认识(包含如何获得root权限思路)
  5. elasticsearch重启过程
  6. 根据详细地址获取经纬度
  7. 山寨版flash AIR
  8. 网站开发论坛的功能,网站开发论坛的特点
  9. 阿里云企业版实例迁移工具最佳实践
  10. 国云筑基“翼”气风发,天翼云以科技创新绘就数字中国蓝图