抓取微信好友列表信息
本文实现的是一种较为安全、简洁、高效的抓取微信好友信息的方法。
实现工具:微信pc端、影刀RPA
主要流程:
手动—前期准备,电脑登陆微信,打开联系人页,使得联系人分类“A”显现在微信窗口界面
自动—运行程序:
- 利用元素的文本定位到“A”文本框,获取其底部坐标;
- 坐标Y轴向下偏移,鼠标左键单击,右边显示出联系人详情(一般是0~60像素,具体范围可利用截图工具获取联系人文本框的高度);
- 在详情页获取联系人的信息;
- 获取完一个联系人信息后,将获取到的信息写入到数据表格中;
- 通过快捷键指令控制键盘“↓”键,单击,跳转下一个联系人详情页,重复3、4步骤;
- 通过判断最新抓取的联系人信息和数据表格中的信息是否一致,决定是否跳出循环抓取流程
- 待抓取完联系人信息后将数据表格导出Excel表格储存。
完整程序截图:
抓取后的数据如下:
关键步骤总结:
- 性别男、女、无,通过联系人右边的性别标识图像判断;
- 由于微信的联系人是可以备注重复的,所以在判断是否抓取到最后一位时,不能通过简单的联系人字符判断,要多条件判断,文中是将所有字段拼接成字符再判断;
- 由于联系人详情页有些信息不一定有,比如地区,典型如企业微信联系人、官方助手等等,这时,就要增加异常判断或者超时判断,文中是忽略抓取,将这些不存在信息设为“无”;
- 为了提高抓取效率,文中是抓取相似元素后再处理字符列表,根据详情页的标签:昵称、微信号、地区,定位列表中的联系人信息(标签索引+1)
相关文章:

抓取微信好友列表信息
本文实现的是一种较为安全、简洁、高效的抓取微信好友信息的方法。 实现工具:微信pc端、影刀RPA 主要流程: 手动—前期准备,电脑登陆微信,打开联系人页,使得联系人分类“A”显现在微信窗口界面 自动—运行程序&#…...

创建JDK8版本的SpringBoot项目的方法
目录 一.通过阿里云下载 二.通过IDEA创建 1.下载安装JDK17 2.创建SpringBoot 3.X的项目 3.把JDK17改成JDK8 截止到2023.11.24,SpringBoot不再支持3.0X之前的版本,3.0X之后的版本所对应的JDK版本为JDK17,下面介绍如何在idea上继续使用JDK…...
Python【走出棋盘】
要求: 某个人进入如下一个棋盘中,要求从左上角开始走, 最后从右下角出来(要求只能前进,不能后退), 问题:共有多少种走法? 0 0 0 0 0 0 0 0 0 0 0 0 0 …...

软件工程 - 第8章 面向对象建模 - 2 静态建模
静态建模(类和对象建模) 类和对象模型的基本模型元素有类、对象以及它们之间的关系。系统中的类和对象模型描述了系统的静态结构,在UML中用类图和对象图来表示。 类图由系统中使用的类以及它们之间的关系组成。类之间的关系有关联、依赖、泛…...

ESXi vSAN 整合多主机磁盘
VSAN 与 RAID区别: vSAN 可以管理 ESXi 主机,且只能与 ESXi 主机配合使用。一个 vSAN 实例仅支持一个群集。vSAN 不需要外部网络存储来远程存储虚拟机文件,例如光纤通道 (FC) 或存储区域网络 (SAN) 使用传统存储,存储管理员可以…...
手机充电 显示连接耳机 (充电没外放声音) 并且充电速度很慢
现象 手机插入充电线充电 外放消失 按音量调节键 显示正在调节耳机音量 手机充电快充标识丢失 显示现在不是快充 充电速度很慢,边玩边用半小时不到2% 经测试:快充正常应该是20w,现在只有3w. 结论 排查后发现是数据线坏了,扔掉后随便换了根c2c的雷电线发现充电速度正常,不…...
前端开发的前世今生
现代前端开发简介 前端开发的历史CGIServer PageRIAAJAX前端组件化和工程化 现代前端开发模式前端工程化前端组件化单页应用微前端 更多相关技术游戏开发Web Assembly 小结 今天我们来稍微聊一下现代前端开发的过去和现状。 前端开发的历史 CGI 在互联网刚刚开始兴起的时代&a…...

CAP概念和三种情况、Redis和分布式事务的权衡
借鉴:https://cloud.tencent.com/developer/article/1840206 https://www.cnblogs.com/huanghuanghui/p/9592016.html 一:CAP概念和三种情况 1.概念: C全称Consistency(一致性):这个表示所有节点返回的数…...

npm pnpm yarn(包管理器)的安装及镜像切换
安装Node.js 要安装npm,你需要先安装Node.js。 从Node.js官方网站(https://nodejs.org)下载并安装Node.js。 根据你的需要选择相应的版本。 一路Next,直到Finish 打开CMD,输入命令来检查Node.js和npm是否成功安装 nod…...
Javase | Java工具类、(SSM)各种依赖的作用
目录: Java工具类:日期工具类文件上传工具类 短信工具类验证码工具类邮件工具类代码生成器 (SSM)各种依赖的作用:spring-context 依赖:spring-context-supprt 依赖:spring-tx 依赖:mysql-connector-java 依赖:spring-j…...

深入探究Python中的JSON、Pickle和Shelve模块:特性与区别
更多资料获取 📚 个人网站:ipengtao.com 在Python中,处理数据序列化和持久化是极其重要的。JSON、Pickle和Shelve是三种常用的模块,它们提供了不同的方法来处理数据的序列化和持久化。本文将深入研究这三个模块,探讨它…...

文心大模型3.5 VS ChatGPT3.5,谁更会写代码 ?
问题:请帮我写一段代码,SAP物料凭证创建接口的代码 ? 文心大模型3.5:写了一段 python ChatGPT3.5 : 写的还可以啊,理解的很到位,而且用的是S/4新语法呀 ! DATA: lt_header TYPE TABLE OF bapi2017_gm_head_…...

【网络安全】用永恒之蓝(Eternal blue)测试windows系统的安全性
一、kali默认账户和密码都为kali 攻击机:Linux 的 kali 目标机:Windows7 x64 二、kali、metasploit、metasploit 攻击 windows操作系统、metasploit 攻击 永恒之蓝 全流程 ①kali:是黑客攻击机。开源免费的Linux操作系统,含有300…...

对于Web标准以及W3C的理解、对viewport的理解、xhtml和html有什么区别?
1、对于Web标准以及W3C的理解 Web标准 Web标准简单来说可以分为结构、表现、行为。 其中结构是由HTML各种标签组成,简单来说就是body里面写入标签是为了页面的结构。 表现指的是CSS层叠样式表,通过CSS可以让我们的页面结构标签更具美感。 行为指的是…...

大语言模型概述(一):基于亚马逊云科技的研究分析与实践
大型语言模型指的是具有数十亿参数(B)的预训练语言模型(例如:GPT-3, Bloom, LLaMA)。这种模型可以用于各种自然语言处理任务,如文本生成、机器翻译和自然语言理解等。 大语言模型的这些参数是在大量文本数据上训练的。…...
LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
示例 --[[ 本功能支持的模块及对应的端口 模块/芯片 端口 波特率及其他参数 Air101/Air103 UART0 921600 8 None 1 Air105 UART0 1500000 8 None 1 ESP32C3 UART0 921600 8 None 1 -- 注意, 简约版(无CH343)不支持 ESP32C2 …...

SpringBoot项目打成jar包后,上传的静态资源(图片等)如何存储和访问
1.问题描述: 使用springboot开发一个项目,开发文件上传的时候,通常会将上传的文件存储到资源目录下的static里面,然后在本地测试上传文件功能没有问题,但是将项目打成jar包放到服务器上运行的时候就会报错,…...

Selenium Grid
Selenium Grid 什么是Selenium Grid Selenium是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上 Selenium Grid的两个版本 Grid1与Grid2两个版本的原理和基本工作方式完全相同,Grid2同时支持Selenium1和Selenium2&#x…...

ubuntu系统下搭建本地物联网mqtt服务器的步骤
那么假如我们需要做一些终端设备,例如温湿度传感器、光照等物联网采集设备要接入呢?怎么样才能将数据报送到服务器呢? 以下内容基于我们ubuntu系统下的emqx成功启动的基础上。我们可以用浏览器键入控制板的地址,如果启动成功&…...
计算机二级考试题库(答案)
题目一:计算机网络基础 1.计算机网络的定义是什么? 计算机网络是指由通讯设备和不同类型计算机组成的计算机系统,利用传输介质,如电缆、光缆、无线等与通讯协议,实现计算机之间的信息传递和共享资源。 2. 内网和外网有什么区别?…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...