美文网首页Python新世界python热爱者
3个python操控微信的操作,统计好友性别、自动回复、生成词云

3个python操控微信的操作,统计好友性别、自动回复、生成词云

作者: 48e0a32026ae | 来源:发表于2018-12-09 15:14 被阅读6次

    三个案例:

    python实现统计好友性别比

    以及统计个性签名,生成词云

    python实现简单的自动回复

    当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?

    学习Python中有不明白推荐加入交流群

                    号:960410445

                    群里有志同道合的小伙伴,互帮互助,

                    群里有不错的视频学习教程和PDF!

    1.python实现统计好友性别比

    小提示:要提前准备好运行环境和引入相关库哦

    #想统计下自己微信里好友的性别比例,当然也是很简单,

    #先获取好友列表,统计列表里性别计数

    import itchat

    # 先登录

    itchat.login()

    # 获取好友列表

    friends = itchat.get_friends(update=True)[0:]

    # 初始化计数器,有男有女,当然,有些人是不填的

    male = female = other = 0

    # 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算

    # 1表示男性,2女性

    for i in friends[1:]:

    sex = i["Sex"]

    if sex == 1:

    male += 1

    elif sex == 2:

    female += 1

    else:

    other += 1

    # 总数算上,好计算比例啊~

    total = len(friends[1:])

    # 好了,打印结果

    print u"男性好友:%.2f%%" % (float(male) / total * 100)

    print u"女性好友:%.2f%%" % (float(female) / total * 100)

    print u"其他:%.2f%%" % (float(other) / total * 100)

    结果:

    2.以及统计个性签名,生成词云

    我们先看一下代码吧

    1

    重点部分会加粗哦

    #用jieba分词,然后制作成词云,首先要安装jieba和wordcloud库

    # pip install jieba

    # pip install wordcloud

    # coding:utf-8

    import itchat

    #要安装这里的库哦

    import re

    itchat.login()

    friends = itchat.get_friends(update=True)[0:]

    tList = []

    for i in friends:

    signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")

    rep = re.compile("1fd.+")

    signature = rep.sub("", signature)

    tList.append(signature)

    # 拼接字符串

    text = "".join(tList)

    # jieba分词

    import jieba

    wordlist_jieba = jieba.cut(text, cut_all=True)

    wl_space_split = " ".join(wordlist_jieba)

    # wordcloud词云

    import matplotlib.pyplot as plt

    from wordcloud import WordCloud, ImageColorGenerator

    import os

    import numpy as np

    import PIL.Image as Image

    d = os.path.dirname(__file__)

    alice_coloring = np.array(Image.open(os.path.join(d, "wechat.jpg")))

    my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring,

    max_font_size=40, random_state=42,

    font_path='C:WindowsFontsARIALUNI.TTF')

    .generate(wl_space_split)

    image_colors = ImageColorGenerator(alice_coloring)

    plt.imshow(my_wordcloud.recolor(color_func=image_colors))

    plt.imshow(my_wordcloud)

    plt.axis("off")

    plt.show()

    # 保存图片 并发送到微信的文件传输助手

    my_wordcloud.to_file(os.path.join(d, "wechat_cloud.png"))

    itchat.send_image("wechat_cloud.png", 'filehelper')

    说一下第一个加粗的部分“wechat.jpg”,这是一张图片,位置放在桌面,并且图片里的形状决定了词云的形状,比如此例中用了微信的

    logo,就生成了这种形状的词云。

    然后说一下第二个加粗的部分,这是一个字体的路径,windows和mac os不一样哦,这里用的是windows的字体库,下图标识了字体库的位置和名称。一般都是这个路径哦,不同的请自行修改。

    就在这了:

    让我们看一下结果吧

    这是原始的生成结果:

    这是加上微信logo后的图片,也就是上述代码的结果

    第三个是最有趣的一个了

    3.python实现简单的自动回复

    废话不说,先上代码。代码很简洁

    安装相关库就行了,直接运行

    # coding:utf-8

    import itchat

    from itchat.content import*

    import re

    @itchat.msg_register([TEXT])

    def text_reply(msg):

    print('msg:%s'%msg['Text'])

    match = re.search('',msg['Text']).span()

    print("~~~~~")

    if match:

    itchat.send('[自动回复]你好☺,微信内部测试中......,请稍后联系!',msg['FromUserName'])

    #二维码

    itchat.auto_login(hotReload=True)

    itchat.run()

    在成功执行以后,可以让小伙伴给你回复任意信息哦。然后就会看到下列界面:

    逼格很高吧

    4.额外加赠

    如果你怕别人联系你任何消息都自动回复,

    则可以制定包含关键字自动回复,要先安装相关库哦

    # encoding = utf8

    import itchat,time,re

    from itchat.content import *

    # 如果对方发的是文字,则我们给对方回复以下的东西

    @itchat.msg_register([TEXT])

    def text_reply(msg):

    match = re.search('在吗',msg['Text'])

    #这里“在吗”就是关键字,你可以自行修改

    if match:

    itchat.send(('【自动回复】,正在忙,请稍后联系'),msg['FromUserName'])

    # 如果对方发送的是图片,音频,视频和分享的东西我们都做出以下回复。

    @itchat.msg_register([PICTURE,RECORDING,VIDEO,SHARING])

    def other_reply(msg):

    itchat.send(('【自动回复】,请稍后联系'),msg['FromUserName'])

    itchat.auto_login(hotReload=True)

    itchat.run()

    这里就不展示了。

    相关文章

      网友评论

        本文标题:3个python操控微信的操作,统计好友性别、自动回复、生成词云

        本文链接:https://www.haomeiwen.com/subject/bdxkhqtx.html