一、项目背景与目标
传统的客户维系方式需要运营人员手动打开多个微信号,浏览朋友圈内容并逐一点赞、评论。这不仅效率低下,而且存在漏点赞、响应不及时等问题。我们的目标是:
-
实现朋友圈内容的自动识别与点赞操作;
-
支持多微信账号同时运行;
-
模拟真实用户行为,避免封号风险;
-
提供简单易用的 UI,便于非技术人员使用。
二、系统运行环境
-
操作系统:Windows 10 或 Windows 11;
-
开发语言:Python + PyQt(桌面界面);
-
辅助模块:OCR(光学字符识别)、图像识别、模拟鼠标与键盘控制;
-
依赖组件:
-
pywinauto / pyautogui
:模拟点击与滑动; -
opencv-python
:图像匹配定位 UI 元素; -
pytesseract
:识别朋友圈昵称与内容; -
wxPython / PyQt5
:构建 GUI 界面; -
多线程 + 队列
:保证任务调度的并发执行效率;
-
三、朋友圈点赞功能实现流程
以下是自动点赞功能的关键实现流程:
1. 微信窗口识别与定位
我们通过 pywinauto
枚举当前运行的微信窗口,通过标题/类名确定具体微信实例。
from pywinauto import Desktop
windows = Desktop(backend="uia").windows()
wx_windows = [w for w in windows if "微信" in w.window_text()]
2. 模拟用户滑动浏览朋友圈
通过模拟鼠标滚轮、拖拽手势,使微信朋友圈内容不断刷新出来:
import pyautogui
pyautogui.moveTo(x, y)
pyautogui.dragRel(0, -400, duration=0.5)
3. 图像识别与点赞按钮匹配
使用 OpenCV 提前截取“点赞”按钮模板,实时截屏当前窗口,进行模板匹配:
import cv2
result = cv2.matchTemplate(screenshot_img, like_button_template, cv2.TM_CCOEFF_NORMED)
_, max_val, _, max_loc = cv2.minMaxLoc(result)
if max_val > 0.85:
pyautogui.click(max_loc[0], max_loc[1])
4. 防封机制(行为仿真)
-
点赞前延迟随机时间,避免批量点击被识别;
-
每次只处理部分朋友圈内容,留足“人工痕迹”;
-
每次点赞后向上滑动,模仿手动浏览行为;
-
多账号之间插入冷却时间,防止并发导致误判;
四、多微信账号支持架构
该工具支持微信多开,我们通过如下策略实现多实例管理:
-
每个微信实例采用独立进程运行;
-
使用进程间通信(如
multiprocessing.Queue
)协调点赞任务; -
每个实例维护独立的 UI 控制逻辑,确保不相互干扰;
-
在主界面中统一展示账号状态,便于统一管理和切换操作。
五、数据与隐私设计
-
除了会员验证信息,所有操作数据都本地保存;
-
不记录用户密码、不上传任何操作日志;
-
提供自定义白名单/黑名单机制,指定哪些用户不进行自动点赞;