pywinauto爬取微信通讯录 2023年1月有效

news/2024/12/15 1:05:59/

使用pywinauto爬取微信通讯录

1.前期准备

842a5f5c6f2c465b8e37330656b8f434.png

将微信窗口固定到这个位置,即通讯录第一个人的显示

2.运行如下代码并将鼠标焦点到微信窗口

import psutil
import pywinauto
from pywinauto.application import Application
import os
import sysdef getWinxin():PID=0for proc in psutil.process_iter():try:pinfo = proc.as_dict(attrs=['pid','name'])except psutil.NoSuchProcess:passelse:if 'WeChat.exe' == pinfo['name']:PID = pinfo['pid']app = Application(backend='uia').connect(process=PID)win = app[u'微信']addresslist = win.child_window(title=u"通讯录", control_type="Button")addresslist.draw_outline()cords =  addresslist.rectangle()pywinauto.mouse.click(button='left', coords=(cords.left + 10, cords.top+10))win.draw_outline()#联系人con_list = win.child_window(title=u"联系人", control_type="List")pywinauto.mouse.click(button='left', coords=(cords.left + 100, cords.top+10))data = []while True:rect_edit = win.Edit2.rectangle()#找到联系人详情页if rect_edit.left > cords.left + 300:pagetube=[]try:win.Edit2.draw_outline()pagetube.append(win.Edit2.get_value())except:print('no edit2')try:win.Edit3.draw_outline()pagetube.append(win.Edit3.get_value())except:print('no edit3')try:win.Edit4.draw_outline()pagetube.append(win.Edit4.get_value())except:print('no edit4')try:win.Edit5.draw_outline()pagetube.append(win.Edit5.get_value())except:print('no edit5')try:win.Edit6.draw_outline()pagetube.append(win.Edit6.get_value())except:print('no edit6')print(pagetube )data.append(pagetube)#最后一个联系人时停止if len(data) >2 and data[-2][0] == data[-1][0]:data.remove(data[-1])saveTxt(data)breakcon_list.type_keys("{DOWN}")
def saveTxt(data):with open("data.txt",'a',encoding="utf-8") as f:for item in data:f.write(str(item)+'\n')
if __name__ == '__main__':getWinxin()

 3.运行一段时间后观察data.txt

7db8daf52bf54beeb8610fbb5ee63091.png

 

 


http://www.ppmy.cn/news/748384.html

相关文章

Android Studio 微信通讯录页面设计(RecycleView)

目录 功能说明 设计流程 核心代码详解 总结 源码开源地址(gitee) 一、功能说明 1.在微信通讯录页面添加列表项,使用RecycleView实现二级列表 2.在上一列表页面的基础上进行点击跳转设计 二、设计流程 1.item设计 为RecyclerView内的元素…

【uniapp前端组件】仿微信通讯录列表组件

仿微信通讯录列表组件 示例图 前言 仿微信通讯录列表组件,可实现通讯列表以及选择多个联系人功能。 组件介绍 本组件有三个自定义组件构成,都已经集成在bugking7-contact-list中,该组件具有两种模式,不带选择框和带选择框&…

微信通讯录备份android,《微信》通讯录备份功能介绍说明

在如今的智能手机时代,备份通讯录变得相当方便,我们如果是手机丢了或者更换手机的时候,就能省去很多不必要的麻烦,因此备份通讯录也相当重要。个人觉得,用微信来备份通讯是比较快捷的,而且可以在相关联的QQ…

获取微信通讯录php,php微信公众号开发之通讯录查询

【实例简介】 通过php对微信公众号开发,实现在组织、部门等成员较多的情况下查询通讯录的功能,从而获取待查询人的手机号、所在部门、部门职位等信息。 【实例截图】 【核心代码】 function getInfo($name) { $phonenumber getNumber($name); if ($phon…

微信不显示通讯录好友

微信应该是我们平时用到最多的社交软件,不管是跟家人朋友联系,还是有关工作上的任务对接、沟通和反馈,我们大部分都是通过微信进行的,因此我们很多的手机联系人也是我们的微信好友,可能很多人会问,为什么有…

企业微信通讯录开发教程

前言 了解企业微信帐号及、限体系 了解开发者可以开发哪些应用 corp_id 每个企业都拥有唯一的ID【我的企业-企业信息获取】 Secret 每一个应用都有一个独立的访问密钥 (secret务必不能泄漏)【应用管理或管理工具获取】 access_token 是应用调用api的凭证,由 cor…

企业微信-通讯录管理-成员管理以及部门管理

企业微信-通讯录管理-成员管理以及部门管理 官方文档 通讯录管理的相关接口可以对企业微信里面部门、成员、标签等通讯录信息进行查询、添加、修改、删除等操作。 一、开启企业微信通讯录相关权限 我们使用通讯录管理的相关接口,原则上需要使用 通讯录管理的 sec…

微信备份通讯录 服务器,微信备份通讯录在哪,教您微信备份通讯录在哪

有的时候手机会遭遇各种意外导致通讯录遗失,所以我们应该未雨绸缪在问题发生之前做好相应准备,这是很多朋友在问的问题,很多朋友换了手机,登陆微信后想回复备份,但是找不到地方,那微信备份通讯录在哪&#…