国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用python玩微信(聊天機(jī)器人,好友信息統(tǒng)計)

Youngs / 3148人閱讀

摘要:用實(shí)現(xiàn)微信好友性別及位置信息統(tǒng)計這里使用的庫開發(fā)。使用圖靈機(jī)器人自動與指定好友聊天讓室友幫忙測試發(fā)現(xiàn)發(fā)送表情發(fā)送文字還能回應(yīng),但是發(fā)送圖片可能不會回復(fù),猜應(yīng)該是我們申請的圖靈機(jī)器人是最初級的沒有加圖片識別功能。

1.用 Python 實(shí)現(xiàn)微信好友性別及位置信息統(tǒng)計

這里使用的python3+wxpy庫+Anaconda(Spyder)開發(fā)。如果你想對wxpy有更深的了解請查看:wxpy: 用 Python 玩微信

# -*- coding: utf-8 -*-
"""
微信好友性別及位置信息
"""

#導(dǎo)入模塊
from wxpy import Bot

"""Q
微信機(jī)器人登錄有3種模式,
(1)極簡模式:robot = Bot()
(2)終端模式:robot = Bot(console_qr=True)
(3)緩存模式(可保持登錄狀態(tài)):robot = Bot(cache_path=True)
"""
#初始化機(jī)器人,選擇緩存模式(掃碼)登錄
robot = Bot(cache_path=True)

#獲取好友信息
robot.chats()
#robot.mps()#獲取微信公眾號信息

#獲取好友的統(tǒng)計信息
Friends = robot.friends()
print(Friends.stats_text())

效果圖(來自筆主盆友圈):

2.用 Python 實(shí)現(xiàn)聊天機(jī)器人

這里使用的python3+wxpy庫+Anaconda(Spyder)開發(fā)。需要提前去圖靈官網(wǎng)創(chuàng)建一個屬于自己的機(jī)器人然后得到apikey。

使用圖靈機(jī)器人自動與指定好友聊天

讓室友幫忙測試發(fā)現(xiàn)發(fā)送表情發(fā)送文字還能回應(yīng),但是發(fā)送圖片可能不會回復(fù),猜應(yīng)該是我們申請的圖靈機(jī)器人是最初級的沒有加圖片識別功能。

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 13 19:09:05 2018

@author: Snailclimb
@description使用圖靈機(jī)器人自動與指定好友聊天
"""

from wxpy import Bot,Tuling,embed,ensure_one
bot = Bot()
my_friend = ensure_one(bot.search("鄭凱"))  #想和機(jī)器人聊天的好友的備注
tuling = Tuling(api_key="你申請的apikey")
@bot.register(my_friend)  # 使用圖靈機(jī)器人自動與指定好友聊天
def reply_my_friend(msg):
    tuling.do_reply(msg)
embed()

使用圖靈機(jī)器人群聊

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 13 18:55:04 2018

@author: Administrator
"""

from wxpy import Bot,Tuling,embed
bot = Bot(cache_path=True)
my_group = bot.groups().search("群聊名稱")[0]  # 記得把名字改成想用機(jī)器人的群
tuling = Tuling(api_key="你申請的apikey")  # 一定要添加,不然實(shí)現(xiàn)不了
@bot.register(my_group, except_self=False)  # 使用圖靈機(jī)器人自動在指定群聊天
def reply_my_friend(msg):
    print(tuling.do_reply(msg))
embed()
3.用 Python分析朋友圈好友性別分布(圖標(biāo)展示)

這里沒有使用wxpy而是換成了Itchat操作微信,itchat只需要2行代碼就可以登錄微信。如果你想詳細(xì)了解itchat,請查看:
itchat入門進(jìn)階教程以及
itchat github項(xiàng)目地址
另外就是需要用到python的一個畫圖功能非常強(qiáng)大的第三方庫:matplotlib。
如果你想對matplotlib有更深的了解請查看我的博文:Python第三方庫matplotlib(詞云)入門與進(jìn)階

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 13 17:09:26 2018

@author: Snalclimb
@description 微信好友性別比例
"""

import itchat
import matplotlib.pyplot as plt
from collections import Counter
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)
sexs = list(map(lambda x: x["Sex"], friends[1:]))
counts = list(map(lambda x: x[1], Counter(sexs).items()))
labels = ["Male","FeMale",   "Unknown"]
colors = ["red", "yellowgreen", "lightskyblue"]
plt.figure(figsize=(8, 5), dpi=80)
plt.axes(aspect=1)
plt.pie(counts,  # 性別統(tǒng)計結(jié)果
        labels=labels,  # 性別展示標(biāo)簽
        colors=colors,  # 餅圖區(qū)域配色
        labeldistance=1.1,  # 標(biāo)簽距離圓點(diǎn)距離
        autopct="%3.1f%%",  # 餅圖區(qū)域文本格式
        shadow=False,  # 餅圖是否顯示陰影
        startangle=90,  # 餅圖起始角度
        pctdistance=0.6  # 餅圖區(qū)域文本距離圓點(diǎn)距離
)
plt.legend(loc="upper right",)
plt.title("%s的微信好友性別組成" % friends[0]["NickName"])
plt.show()

效果圖(來自筆主盆友圈):

4.用 Python分析朋友圈好友的簽名

需要用到的第三方庫:

numpy:本例結(jié)合wordcloud使用

jieba:對中文驚進(jìn)行分詞

PIL: 對圖像進(jìn)行處理(本例與wordcloud結(jié)合使用)

snowlp:對文本信息進(jìn)行情感判斷

wordcloud:生成詞云
matplotlib:繪制2D圖形

# -*- coding: utf-8 -*-
"""
朋友圈朋友簽名的詞云生成以及
簽名情感分析
"""
import re,jieba,itchat
import jieba.analyse
import numpy as np
from PIL import Image
from snownlp import SnowNLP
from wordcloud import WordCloud
import matplotlib.pyplot as plt
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)
def analyseSignature(friends):
    signatures = ""
    emotions = []
    for friend in friends:
        signature = friend["Signature"]
        if(signature != None):
            signature = signature.strip().replace("span", "").replace("class", "").replace("emoji", "")
            signature = re.sub(r"1f(d.+)","",signature)
            if(len(signature)>0):
                nlp = SnowNLP(signature)
                emotions.append(nlp.sentiments)
                signatures += " ".join(jieba.analyse.extract_tags(signature,5))
    with open("signatures.txt","wt",encoding="utf-8") as file:
         file.write(signatures)

    # 朋友圈朋友簽名的詞云相關(guān)屬性設(shè)置
    back_coloring = np.array(Image.open("alice_color.png"))
    wordcloud = WordCloud(
        font_path="simfang.ttf",
        background_color="white",
        max_words=1200,
        mask=back_coloring, 
        max_font_size=75,
        random_state=45,
        width=1250, 
        height=1000, 
        margin=15
    )
    
    #生成朋友圈朋友簽名的詞云
    wordcloud.generate(signatures)
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()
    wordcloud.to_file("signatures.jpg")#保存到本地文件

    # Signature Emotional Judgment
    count_good = len(list(filter(lambda x:x>0.66,emotions)))#正面積極
    count_normal = len(list(filter(lambda x:x>=0.33 and x<=0.66,emotions)))#中性
    count_bad = len(list(filter(lambda x:x<0.33,emotions)))#負(fù)面消極
    labels = [u"負(fù)面消極",u"中性",u"正面積極"]
    values = (count_bad,count_normal,count_good)
    plt.rcParams["font.sans-serif"] = ["simHei"] 
    plt.rcParams["axes.unicode_minus"] = False
    plt.xlabel(u"情感判斷")#x軸
    plt.ylabel(u"頻數(shù)")#y軸
    plt.xticks(range(3),labels)
    plt.legend(loc="upper right",)
    plt.bar(range(3), values, color = "rgb")
    plt.title(u"%s的微信好友簽名信息情感分析" % friends[0]["NickName"])
    plt.show()
analyseSignature(friends)

效果圖(來自筆主盆友圈):

參考文獻(xiàn):

itchat文檔:http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/

wxpy文檔:http://wxpy.readthedocs.io/zh/latest/index.html

基于Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析(簽名,頭像等等):
http://blog.csdn.net/qinyuanpei/article/details/79360703

Windows環(huán)境下Python中wordcloud的使用——自己踩過的坑 :http://blog.csdn.net/heyuexianzi/article/details/76851377

歡迎關(guān)注我的微信公眾號:“Java面試通關(guān)手冊”(堅持原創(chuàng),分享美文,分享各種Java學(xué)習(xí)資源,面試題,以及企業(yè)級Java實(shí)戰(zhàn)項(xiàng)目回復(fù)關(guān)鍵字免費(fèi)領(lǐng)?。?/strong>

github項(xiàng)目地址(系列文章包含常見第三庫的使用與爬蟲,會持續(xù)更新)
歡迎star和fork.

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41461.html

相關(guān)文章

  • python_bomb----有趣的微信聊天機(jī)器人

    摘要:模塊是一個文件,以結(jié)尾,包含了對象定義和語句模塊讓你能夠有邏輯地組織你的代碼段。把相關(guān)的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。命令執(zhí)行成功,執(zhí)行結(jié)果命令執(zhí)行失敗一秒后執(zhí)行關(guān)機(jī)命令 Python 模塊(Module) 是一個 Python 文件,以 .py 結(jié)尾,包含了 Python 對象定義和Python語句 模塊讓你能夠有邏輯地組織你的 Python 代碼段。 把相關(guān)的代...

    bawn 評論0 收藏0
  • 一個簡單有趣的微信聊天機(jī)器人

    摘要:微信已經(jīng)成了中國人生活中基本的通訊工具除了那些自由開源人士以外,前兩天發(fā)現(xiàn)微信機(jī)器人的項(xiàng)目,其實(shí)早就有了。開發(fā)微信機(jī)器人該項(xiàng)目基于上的,使用文檔在這里。原文地址一個簡單有趣的微信聊天機(jī)器人我的博客時空路由器 微信已經(jīng)成了中國人生活中基本的通訊工具(除了那些自由開源人士以外),前兩天發(fā)現(xiàn)微信機(jī)器人的項(xiàng)目,其實(shí)早就有了。想著自己也做一個吧,順便加了一些小小的功能。 釋放我的機(jī)器人 微信掃一...

    leonardofed 評論0 收藏0
  • Python 微信機(jī)器人陪你嘮嗑

    摘要:程序主要是通過使用庫來登錄到微信網(wǎng)頁端,然后通過來發(fā)送消息和接收消息。推薦閱讀頂級開源項(xiàng)目用吃雞是一種什么樣的體驗(yàn)用玩微信,機(jī)器人陪你嘮嗑本文首發(fā)于公眾號癡海,后臺回復(fù),為你精心準(zhǔn)備時下最熱門教程。 showImg(https://segmentfault.com/img/remote/1460000015982002); 閱讀文本大概需要 5 分鐘。 今天帶給大家一個非常有意思的 p...

    liangdas 評論0 收藏0
  • wxpy將個人微信號變成微信聊天機(jī)器人

    一、實(shí)驗(yàn)環(huán)境:win10 + python3 + wxpy 微信版本:6.6.5 1.1、從官網(wǎng)下載python最新版本并進(jìn)行安裝。 1.2、進(jìn)入python安裝目錄Scripts/文件夾下,使用easy_install.exe pip 命令安裝pip 1.3、使用pip install wxpy 命令安裝wxpy 二、源碼文件demo.py #coding=utf-8 from wxpy...

    davidac 評論0 收藏0

發(fā)表評論

0條評論

Youngs

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<