第一个微信小项目

第一个好友分析:

我们需要用到wxpy这个库,这个库用到时会弹出一个二维码,这个二维码是通过扫码的方式登录微信,以获取信息

#导入模块 
from wxpy import * 
 
#初始化机器人,选择缓存模式(扫码)登录 
bot = Bot(cache_path=True) 
 
#获取我的所有微信好友信息 
friend_all = bot.friends() 

接下来我们调用这个库的函数做到将好友的信息转化成列表

lis=[]
for a_friend in friend_all:
    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)
    list_0=[NickName,Sex,City,Province,Signature]
    lis.append(list_0)

将列表转换为excl让我们方便看,我用到了pandas的一个小功能:

def toex(lis):
    text=pd.DataFrame(lis,columns=['微信名','性别','城市','省份','个性签名'])
    text.to_excel('wx.xlsx',encoding='\U0001f31a')
    print(1)

显示结果如下:

 用pyecharts做词云:

import pandas as pd
from pyecharts import WordCloud 
df=pd.read_excel('wx.xlsx')
city_list = df['城市'].fillna('city').tolist()
count_city = pd.value_counts(city_list)
name = count_city.index.tolist()
value = count_city.tolist()
wordcloud=WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud.show_config()
wordcloud.render(r'wxcity.html')
print(1)

效果:

用pyecharts制作地图:

import pandas as pd
from pyecharts import Map 
df=pd.read_excel('wx.xlsx')
pr_list = df['省份'].fillna('pr').tolist()
count_pr = pd.value_counts(pr_list)
attr =count_pr.index.tolist() 
value = count_pr.tolist()
maap=Map("各省微信好友分布", width=1200, height=600)
maap.add("", attr, value, maptype='china', is_visualmap=True,visual_text_color='#000', is_label_show = True)
maap.show_config()
maap.render(r'wxpr.html')
print(1)

效果:

微信机器人:

比较简单的一个微信图灵机器人,这个机器人有自动回复功能,接下来我们看看怎么用:

# 导入模块
from wxpy import *
import requests
import json
# 初始化机器人,扫码登陆
bot = Bot()

首先登陆并初始化机器人,接下来创建图灵机器人,大家要在图灵机器人的官网上获得apikey,下面是连接图灵机器人:

robot = Bot()
def talk_robot(info='你好啊'):   #定义一个默认参数
    api_url = 'http://www.tuling123.com/openapi/api'  # 图灵接口url
    apikey = 'xxxxxxxxxx'       # 注册图灵生成key 
    data = {'key': apikey, 'info': info}                                   
    r = requests.post(api_url, data=data).text

用 requests.post 处理后的返回的数据是 json 格式,在info处定义参数,当你收到消息并与参数吻合时,机器人便会自动回复。

 下面是做一个别的机器人:

此处有wxpy的各种功能介绍https://wxpy.readthedocs.io/zh/latest/messages.html

posted @ 2019-06-04 21:42  屁屁蛇  阅读(207)  评论(0)    收藏  举报