第一个微信项目

一、微信好友分析

步骤一:

需要下载wxpy库、openpyxl库和pandas库

 

步骤二:

读取微信好友信息,并存为excel文件

from wxpy import *

import openpyxl

import pandas as pd

 

def shuju():

bot=Bot(cache_path=True)

friend_all=bot.friends()

lis=[]

for a_friend in friend_all:

RemarkName=a_friend.raw.get('RemarkName',None)

UserName=a_friend.raw.get('UserName',None)

NickName=a_friend.raw.get('NickName',None)

Sex={1:"男",2:"女",0:"其他"}.get(a_friend.raw.get('Sex',None),None)

City=a_friend.raw.get('City',None)

Province=a_friend.raw.get('Province',None)

Signature=a_friend.raw.get('Signature',None)

HeadImgUrl=a_friend.raw.get('HeadImgUrl',None)

HeadImgFlag=a_friend.raw.get('HeadImgFlag',None)

list_0=[RemarkName,UserName,NickName,Sex,City,Province,Signature,HeadImgUrl,HeadImgFlag]

lis.append(list_0)

return lis

 

def save(u):

name=["RemarkName","UserName","NickName","Sex","City","Province","Signature","HeadImgUrl","HeadImgFlag"]

test=pd.DataFrame(columns=name,data=u)

test.to_excel('D:/pa.xlsx',encoding="gbk")

 

def main():

u=shuju()

save(u)

main()

文件部分内容如图:

 

步骤三:

统计微信人数、省市分布

from wxpy import *

bot=Bot(cache_path=True)

allfriend=bot.friends()

data=allfriend.stats_text(total=True,sex=True,top_provinces=30,top_cities=50)

print(data)

结果如下

panq 共有 233 位微信好友

 

男性: 89 (38.2%)

女性: 124 (53.2%)

 

TOP 30 省份

广东: 137 (58.80%)

Dubai: 2 (0.86%)

内蒙古: 2 (0.86%)

北京: 2 (0.86%)

山西: 1 (0.43%)

Arnsberg: 1 (0.43%)

Kildare: 1 (0.43%)

四川: 1 (0.43%)

Miyazaki-ken: 1 (0.43%)

Concordia: 1 (0.43%)

安徽: 1 (0.43%)

Dublin: 1 (0.43%)

Hamburg: 1 (0.43%)

Kyoto-fu: 1 (0.43%)

Kowloon City: 1 (0.43%)

香港: 1 (0.43%)

海南: 1 (0.43%)

Ansbach: 1 (0.43%)

Dubayy: 1 (0.43%)

Marseille: 1 (0.43%)

福建: 1 (0.43%)

Texas: 1 (0.43%)

Berlin: 1 (0.43%)

Lille: 1 (0.43%)

Nuremberg: 1 (0.43%)

Victoria: 1 (0.43%)

Paris: 1 (0.43%)

Saitama-ken: 1 (0.43%)

St. Peterburg: 1 (0.43%)

湖北: 1 (0.43%)

 

TOP 50 城市

肇庆: 63 (27.04%)

广州: 41 (17.60%)

揭阳: 6 (2.58%)

汕头: 5 (2.15%)

佛山: 4 (1.72%)

深圳: 3 (1.29%)

惠州: 2 (0.86%)

中山: 2 (0.86%)

阳江: 2 (0.86%)

茂名: 2 (0.86%)

太原: 1 (0.43%)

成都: 1 (0.43%)

东莞: 1 (0.43%)

Miyazaki-shi: 1 (0.43%)

汕尾: 1 (0.43%)

芜湖: 1 (0.43%)

Kyoto: 1 (0.43%)

临高: 1 (0.43%)

梅州: 1 (0.43%)

韶关: 1 (0.43%)

厦门: 1 (0.43%)

Houston: 1 (0.43%)

珠海: 1 (0.43%)

呼伦贝尔: 1 (0.43%)

朝阳: 1 (0.43%)

Melbourne: 1 (0.43%)

Kasukabe-shi: 1 (0.43%)

黄冈: 1 (0.43%)

河源: 1 (0.43%)

Perth: 1 (0.43%)

东城: 1 (0.43%)

赤峰: 1 (0.43%)

湛江: 1 (0.43%)

 

步骤四:

将好友的地区分布和好友签名特点做成词云

需要下载wordcloud库、matplotlib库、pandas库

好友签名词云

import pandas as pd

import matplotlib.pyplot as plt

from pandas import DataFrame

from pandas import read_excel

from wordcloud import WordCloud

df=read_excel('D:/pa.xlsx')

word_list=df['Signature'].fillna("0").tolist()

new_text=' '.join(word_list)

wordcloud=WordCloud(font_path='simhei.ttf',background_color="pink").generate(new_text)

plt.imshow(wordcloud)

plt.axis("off")

plt.show()

结果如图

 

地区词云

代码差不多,只是将Signature改为City

import pandas as pd

import matplotlib.pyplot as plt

from pandas import DataFrame

from pandas import read_excel

from wordcloud import WordCloud

df=read_excel('D:/pa.xlsx')

word_list=df['City'].fillna("0").tolist()

new_text=' '.join(word_list)

wordcloud=WordCloud(font_path='simhei.ttf',background_color="pink").generate(new_text)

plt.imshow(wordcloud)

plt.axis("off")

plt.show()

结果如图

 

二、微信机器人

使用的库:itchat,requests

代码

# -*- coding: utf-8 -*-

"""

Created on Mon Jun 3 19:36:07 2019

 

@author: history

"""

 

 

#-*- coding:utf-8 -*-

import itchat

import requests

 

def get_response(msg):

apiurl = 'http://i.itpk.cn/api.php' # //moli机器人的网址

data={

"question": msg, #//获取到聊天的文本信息

"api_key": "9ddf52cacd0ef429d1c63bf411b9bed6",

"api_secret": "n4gxkdyckd7p"

}

 

r=requests.post(apiurl,data=data) # //构造网络请求

return r.text

@itchat.msg_register(itchat.content.TEXT) # //好友消息的处理

def print_content(msg):

return get_response(msg['Text'])

@itchat.msg_register([itchat.content.TEXT], isGroupChat=True) #群消息的处理

def print_content(msg):

return get_response(msg['Text'])

itchat.auto_login(True) #自动登录

itchat.run() #//启动聊天机器人

看一下效果吧

 

哇,真的好好玩啊,哈哈哈哈,真会骂人。。。

原文地址:https://www.cnblogs.com/panqiaoyan/p/10978255.html