利用 Python 结合 wxpy 库,可以快速查询自己好友的地区分布情况,以及好友的性别分布数量。此外,脚本还支持批量下载好友头像并拼接成大图。
准备工作
在开始之前,确保你的开发环境满足以下要求:
- Python 环境:建议 Python 3.6 及以上版本。
- 账号状态:需要一个注册时间超过一年的微信号,避免风控。
- 依赖安装:
pip install wxpy pyecharts pillow
核心代码实现
这部分逻辑主要涉及三个步骤:初始化机器人、遍历好友信息、数据可视化。
首先导入必要的模块。除了基础的 wxpy 外,我们还需要 PIL 处理图片,pyecharts 生成地图。
from wxpy import *
from PIL import Image
import os
import math
import webbrowser
from pyecharts import Map
接下来实例化机器人。扫码登录后,程序会进入等待状态。
bot = Bot()
获取好友列表后,我们需要提取省份和性别字段。注意部分用户可能未设置地区,需要处理空值。
friends_data = []
for f in bot.friends():
province = f.province if f.province else '未知'
gender = f.gender
friends_data.append({'name': f.name, 'province': province, 'gender': gender})
最后使用 pyecharts 绘制地区分布图。这里以中国地图为例,将省份作为维度。
map_chart = Map()
map_chart.add("地区分布", [(item['province'], item['province']) for item in friends_data], "china")
map_chart.render('friend_map.html')
webbrowser.open('friend_map.html')
注意事项
实际运行中可能会遇到 IP 限制或接口变动问题。建议不要频繁调用,保护账号安全。另外,涉及隐私数据,请确保仅用于个人学习分析。

