38:Python编程:20行代码 获取微信好友信息

前言

之前自己试着调用图灵接口,开发过微信公众号自动回复的机器人。今天简单演示一下,用非常简短的代码,先获取一下微信好友信息,然后再去演示一下如何开发微信好友消息的自动回复。

安装第三方库:itchat

今天我们用到的第三方库是itchat,如果你也和我一样在用PyCharm开发工具,则导入方式有两种:
1.可以按照我们之前的导入方式,请参考:如何使用PyCharm导入第三方库?
2.更简单的方式是通过:pip,PyCharm底部标签栏有个Terminal,输入指令如下:
pip install itchat
当你看到提示:

Successfully installed itchat-1.3.10 pypng-0.0.18 pyqrcode-1.2.1

就说明安装成功了。

示例

import itchat

# 登录微信(每次需要扫码登录)
# itchat.login()

# 自动登录
itchat.auto_login(hotReload=True)

# 获取好友
friends = itchat.get_friends()

# 根据微信性别字段Sex,获取对应的文字
def get_sex(sex):
    if sex == 1:
        return "男"
    elif sex == 2:
        return "女"
    else:
        return "其他"

for friend in friends:
    print("【昵称】:{}\n"
          "【性别】:{}\n"
          "【个性签名】:{}\n"
          "【城市】:{}\n".format(friend["NickName"], get_sex(friend["Sex"]), friend["Signature"], friend["Province"] + friend["City"]))

其实上面注释已经很清楚了。再做出以下提示:
1.登录微信的两种方式:
微信登录方式一:扫描登录。当运行到该行代码时,会自动弹出一个二维码,扫描登录。这种登录方式,每次运行项目需要扫码重新登录。

# 登录微信(每次需要扫码登录)
# itchat.login()

《38:Python编程:20行代码 获取微信好友信息》 微信登录方式一

微信登录方式二:自动登录。当运行到该行代码时,会在项目中自动生成一个文件:itchat.pkl。在半个小时内可以自动登录。

《38:Python编程:20行代码 获取微信好友信息》 微信自动登录–itchat.pkl

# 自动登录
itchat.auto_login(hotReload=True)

2.获取全部好友:itchat.get_friends()

# 获取好友
friends = itchat.get_friends()

3.遍历好友列表打印出好友信息昵称、性别、个性签名、城市等,还有很多其他信息,此处没有演示。

for friend in friends:
    print("【昵称】:{}\n"
          "【性别】:{}\n"
          "【个性签名】:{}\n"
          "【城市】:{}\n".format(friend["NickName"], get_sex(friend["Sex"]), friend["Signature"], friend["Province"] + friend["City"]))

运行结果:

【昵称】:Hasaki
【性别】:男
【个性签名】:生活又要对我这只小猫咪做什么
【城市】:广东珠海

【昵称】:木木
【性别】:女
【个性签名】:读书  健身
【城市】:河南郑州

【昵称】:Siriue
【性别】:男
【个性签名】:A你+
【城市】:广东广州

......(此处省略若干)

【昵称】:晴天
【性别】:女
【个性签名】:傻瓜的心在嘴里,聪明人的嘴在心里。
【城市】:福建厦门

【昵称】:无颜以对
【性别】:男
【个性签名】:最怕你一生碌碌无为,还安慰自己平凡可贵
【城市】:Roma

【昵称】:Lee
【性别】:男
【个性签名】:
【城市】:湖北武汉

补充:你也可以打印出好友模型看下数据结构:
好友模型:

{'RemarkName': '翠翠姐',
 'DisplayName': '', 
'AttrStatus': 4357, 
'RemarkPYInitial': 'CCJ', 
'IsOwner': 0,
 'StarFriend': 0, 
'PYInitial': 'KYMYT', 
'RemarkPYQuanPin': 'cuicuijie', 
'HideInputBarFlag': 0,
 'KeyWord': '', 'NickName': '快乐每一天',
'City': '濮阳',
'OwnerUin': 0, 'VerifyFlag': 0, 
'MemberList': <ContactList: []>, 
'EncryChatRoomId': '', 'AppAccountFlag': 0, 
'Signature': '走自己的路,让别人去说吧!',
'Alias': '', 'ContactFlag': 65539, 'UniFriend': 0, 
'SnsFlag': 1, 'PYQuanPin': 'kuaiyuemeiyitian',
'UserName': '@2114996ce5f2106a069c5551eb8793a38f760a201dfb78a48f81956f2ba12b5d',
'HeadImgUrl': '/cgi-bin/mmwebwx-bin/webwxgeticon?seq=648544802&username=@2114996ce5f2106a069c5551eb8793a38f760a201dfb78a48f81956f2ba12b5d&skey=@crypt_fb49ed2_90734d134f29dbaad2fff959eaccd7b8',
'ChatRoomId': 0, 'MemberCount': 0, 'Statues': 0,
'Sex': 2, 
'Uin': 0, 
'Province': '河南'}

小结

今天简单演示一下,用非常简短的代码,先获取一下微信好友信息,接下来后面再去演示一下如何开发微信好友消息的自动回复。

更多了解,可关注微信公众号:人人懂编程

《38:Python编程:20行代码 获取微信好友信息》 微信公众号:人人懂编程

    原文作者:TensorFlow开发者
    原文地址: https://www.jianshu.com/p/11f0ad1e93c1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞