python中通过itchat导出所有微信好友信息到execl表格

通过itchat模块查询微信的好友信息
再通过xlwt模块将数据解析后写入到execl表格中
注意:
1、qr_file 这个变量是存储execl表格的路径
2、微信需要能登录网页版,不能登录网页版无法登录
3、无法获取微信号,只能获取到基本信息

# -*- coding: utf-8 -*-
# author: Hermant_Tang
import itchat
import xlwt
import os


qr_file = r'D:\\test\\wechat'
work_book = xlwt.Workbook(encoding='utf-8')
seet = work_book.add_sheet('微信好友信息', 20)
itchat.auto_login(hotReload=True)
file_name = '微信好友信息.xls'
def create_execl():
    a1 = ['City', 'PYQuanPin', 'RemarkPYInitial', 'Province', 'RemarkName', 'PYInitial', 'Signature', 'NickName',
          'RemarkPYQuanPin', 'HeadImgUrl', 'Sex', 'UserName']
    a2 = ['所属市', '好友微信名拼音', '好友备注拼音简称大写', '所属省', '备注', '微信名拼音大写', '个性签名', '微信名', '备注名拼音', '好友头像url', '性别', 'UserName']
    for i in itchat.search_friends():
        l = dict(zip(a1, a2)).get(i)
        if l == 'UserName':
            seet.write(0, 0, l)
        elif l == '备注':
            seet.write(0, 2, l)
        elif l == '微信名':
            seet.write(0, 1, l)
        elif l == '备注名拼音':
            seet.write(0, 9, l)
        elif l == '好友微信名拼音':
            seet.write(0, 7, l)
        elif l == '好友备注拼音简称大写':
            seet.write(0, 7, l)
        elif l == '微信名拼音大写':
            seet.write(0, 10, l)
        elif l == '所属市':
            seet.write(0, 5, l)
        elif l == '所属省':
            seet.write(0, 4, l)
        elif l == '个性签名':
            seet.write(0, 6, l)
        elif l == '好友头像url':
            seet.write(0, 11, l)
        elif l == '性别':
            seet.write(0, 3, l)

    work_book.save(os.path.join(qr_file, file_name))

def insert_execl():
    count = 1
    for friend_info in itchat.get_friends():
        for l in friend_info:
            info = friend_info[l]
            if l == 'UserName':
                seet.write(count, 0, info)
            elif l == 'RemarkName':
                seet.write(count, 2, info)
            elif l == 'NickName':
                seet.write(count, 1, info)
            elif l == 'RemarkPYQuanPin':
                seet.write(count, 9, info)
            elif l == 'PYQuanPin':
                seet.write(count, 7, info)
            elif l == 'RemarkPYInitial':
                seet.write(count, 7, info)
            elif l == 'PYInitial':
                seet.write(count, 10, info)
            elif l == 'City':
                seet.write(count, 5, info)
            elif l == 'Province':
                seet.write(count, 4, info)
            elif l == 'Signature':
                seet.write(count, 6, info)
            elif l == 'HeadImgUrl':
                seet.write(count, 11, info)
            elif l == 'Sex':
                if info == 1:
                    seet.write(count, 3, '男')
                elif info == 2:
                    seet.write(count, 3, '女')
                else:
                    seet.write(count, 3, '未知')
        count += 1


if __name__ == '__main__':
    create_execl()
    insert_execl()
    work_book.save(os.path.join(qr_file, file_name))
    print('数据导出完毕!!!!')
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以使用微信官方提供的接口实现给指定微信好友发送消息,具体步骤如下: 1. 首先,需要在微信公众平台上申请开发者账号,并创建一个公众号。 2. 在公众号后台,开启开发者模式,并获取相应的 AppID 和 AppSecret。 3. 通过微信官方提供的 API,获取 access_token,用于发送消息和其他操作。 4. 调用微信官方提供的接口,向指定好友发送消息。 以下是一个简单的 Python 示例代码: ```python import requests # 获取 access_token def get_access_token(app_id, app_secret): url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={app_id}&secret={app_secret}" response = requests.get(url) access_token = response.json().get("access_token") return access_token # 发送消息 def send_message(access_token, to_user, content): url = f"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={access_token}" data = { "touser": to_user, "msgtype": "text", "text": { "content": content } } response = requests.post(url, json=data) result = response.json() if result.get("errcode") == 0: print("消息发送成功!") else: print("消息发送失败!") if __name__ == "__main__": # 替换成自己的 AppID 和 AppSecret app_id = "your_app_id" app_secret = "your_app_secret" # 替换成自己的 access_token access_token = get_access_token(app_id, app_secret) # 替换成自己的好友 openid 和消息内容 to_user = "your_friend_openid" content = "Hello, World!" # 发送消息 send_message(access_token, to_user, content) ``` 需要注意的是,由于微信官方对接口的访问频率有限制,建议在发送消息之前,先检查当前 access_token 是否有效,如果无效,则重新获取
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值