博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信机器人
阅读量:6671 次
发布时间:2019-06-25

本文共 4055 字,大约阅读时间需要 13 分钟。

用Python对你的微信好友进行数据分析,第一次用类的方法来做,接下来直接上代码

from wxpy import Botimport openpyxlfrom pyecharts import Mapimport wordcloudimport matplotlib.pyplot as pltimport jiebaclass WeChatRobot:    def __init__(self,toexcel="",tocity="",tosfditu=""):        self.bot=Bot()        self.allfriends_info=self.bot.friends()        self.allfriends_num=len(self.allfriends_info)        self.excelwj=toexcel        self.wcofcitywj=tocity        self.shengfenwj=tosfditu        self.run()    def getfriends(self):        self.friendsinfo=[]        self.infotitle=['nick','beizhu','sex','province','city']        for afriend in self.allfriends_info:            nick=afriend.raw.get(self.infotitle[0],None)            beizhu=afriend.raw.get(self.infotitle[1],None)            sex={1:"男",2:"女",0:"其他"}.get(afriend.raw.get(self.infotitle[2],None),None)            province=afriend.raw.get(self.infotitle[3],None)            city=afriend.raw.get(self.infotitle[4],None)            listmp=[nick,beizhu,sex,province,city]            self.friendsinfo.append(listmp)    def bcexcel(self,excelname):        workbook=openpyxl.Workbook()        sheet=workbook.active        sheet.title='weixinhaoyou'        for _ in range(len(self.infotitle)):            sheet.cell(row=1,column=_+1,value=self.infotitle[_])        for i in range(self.allfriends_num):            for j in range(len(self.infotitle)):                sheet.cell(row=i+2,column=j+1,value=str(self.friendsinfo[i][j]))        if excelname!="":            workbook.save(excelname)            print("chenggong")    def fenxi(self):        print(self.allfriends_info.stats_text())    def cityciyun(self,cityname):        citystr=""        for i in range(self.allfriends_num):            if self.friendsinfo[i][4] not in citystr:                citystr +=" "+self.friendsinfo[i][4]                wordlist=jieba.lcut(citystr)                citystr=' '.join(wordlist)                font='simhei.ttf'                wc=WordCloud(                    background_color="white",                    width=1300,                    height=620,                    max_font_size=200,                    random_state=200,                    )        myword=wc.generate(citystr)        plt.imshow(myword)        plt.axis('off')        plt.show()        if cityname!="":            wc.to_file(cityname)            print("chenggong")    def scsfdt(self,mapfile):        sflist=[]        sfnum=[]        for i in range(self.allfriends_num):            if self.friendsinfo[i][3] not in sflist:                sflist.append(self.friendsinfo[i][3])                sfnum.append(0)        for i in range(self.allfriends_num):            for j in range(lrn(sflist)):                if self.friendsinfo[i][3]==sflist[j]:                    sfnum[j]+=1        map=Map("haoyoufenbu",width=100,heigth=800)        map.add("",sflist,sfnum,maptype="china",is_vlauemap=True,visual_text_color='#000')        if mapfile!="":            map.render(mapfile)            print("chenggong")def run(self):        self.getfriends()        print("get!")        print("members",self.allfriends_num)        self.bcexcel(self.excelwj)        self.fenxi()        self.cityciyun(self.wcofcitywj)        self.scsfdt(self.shengfenwj)        self.sccsdt(self.chengshiwj)if __name__=="__main__":    toexcel="D:\\python文件\\haoyoushuju.xlsx"    totupian="D:\\python文件\\citywc.png"    toshengfen="D:\\python文件\\sfditu.html"    robot=WeChatRobot(toexcel,totupian,toshengfen)

运行结果如下:

接下来是自动回复机器人的代码

from wxpy import *import requestsimport jsonbot=Bot()robot = Bot()def talk_robot(info='你好啊'):   #定义一个默认参数    api_url = 'http://www.tuling123.com/openapi/api'  # 图灵接口url    apikey =      # 图灵密钥     data = {
'key': apikey, 'info': info} r = requests.post(api_url, data=data).text response = json.loads(r)['text'] return response#在群里艾特你自动回复@robot.register()def reply_my_friend(msg): message = '{}'.format(msg.text) response = talk_robot(info=message) return responseembed()

 

转载于:https://www.cnblogs.com/gyy-15768200938/p/10976913.html

你可能感兴趣的文章
“外围”消亡 企业安全防护需要新形态
查看>>
三招教你如何选择企业网盘
查看>>
轻量函数式 JavaScript:一、为什么要进行函数式编程?
查看>>
替代SSD?Crossbar进军中国存储市场
查看>>
红杉计越:AI、大数据、SaaS、云计算为何在中国一体迸发?
查看>>
阿里张勇:数据驱动的透明是平台治理的基础
查看>>
ActiveMQ - JMS,Transport,Persistence
查看>>
互联网大数据支撑生态银行建设
查看>>
视频会议系统迎来第四次浪潮
查看>>
报告显示:被调研中国企业超85%已从数字转型中获得回报
查看>>
东方日升拉美光伏电站项目 将进入首期施工
查看>>
软件探索性测试 笔记二
查看>>
将来也不会被破译的分布式存储系统
查看>>
光伏电站或成辅助服务市场“输家”
查看>>
今年光伏“领跑者”计划将升级扩围
查看>>
Java程序运行超时后退出或进行其他操作的实现
查看>>
手把手教你启用RemoteFX以及Hyper-V GPU卸载
查看>>
《交互式程序设计 第2版》一3.10 更进一步
查看>>
英伟达发布Tesla P4&P40两款基于Pascal架构的深度学习芯片
查看>>
《ANSYS Workbench有限元分析实例详解(静力学)》——2.5 Windows界面相应操作
查看>>