import requests
import json
from collections import Counter
from pyecharts import Pie
import hashlib
Wxurl="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?lang=zh_CN&r=1551517351463&seq=0&skey=@crypt_80cc7620_ac3680d314a5860438086e5d54cf177d"
headers = {
Cookie': 'cookie',
'Host': 'wx.qq.com',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36'
}
#TODO Province_City 使用到的数组集合
Province = []
Countcity=[]
#TODO 存储性别
sexs=[]
#TODO 存储图片
HeadImgUrls=[]
def SexFun(Sexrests):
# 性别方法
print("男%s" % Sexrests[1])
print("女%s" % Sexrests[2])
print("公众号%s" % Sexrests[0])
pie = Pie("微信好友性别统计" , title_pos='center', width=1400, height=600)
pie.add(
"",
['男','女','未知'],
[Sexrests[1],Sexrests[2],Sexrests[0]],
radius=[40, 75],
title='sex',
label_text_color=None,
is_label_show=True,
legend_orient="vertical",
legend_pos="left",
)
pie.render('sex.html')
print(Sexrests)
#TODO Wechar_data 方法
def Wechar_data(Wxurl,headers):
global Province # 转换为全局变量,假如不转换的话,会报错的
global Countcity
global sexs
global HeadImgUrls
list_data = requests.get(Wxurl,headers=headers)
list_data.encoding = "utf-8"
print(list_data.text)
dict1 = json.loads(list_data.text)
print("%s: %s" % ("好友数" ,dict1["MemberCount"])) #字典
listdata=dict1["MemberList"] # 集合
#print(listdata)
for lists in range(0,dict1["MemberCount"]): # 把全部用户的地址存储
HeadImgUrls.append(listdata[lists]["HeadImgUrl"])
sexs.append(listdata[lists]["Sex"])
Province.append(listdata[lists]["Province"]+""+listdata[lists]["City"])
rest=Counter(Province) #这里是分组
#print(rest)
"""
Counter({'': 29, '湖南郴州': 21, '湖南长沙': 16, '广东深圳': 14, '广东中山': 9, '广东广州': 8, '北京朝阳': 7, '湖南娄底': 4, '湖南怀化': 4, '北京海淀': 3, '湖南益阳': 3, '上海浦东新区': 3, '安徽合肥': 2, '北京西城': 2, '广东佛山': 2, '广东湛江': 2, '湖南株洲': 2, '浙江杭州': 1, '北京东城': 1, '广东': 1, '四川德阳': 1, '辽宁丹东': 1, '河南三门峡': 1, '湖南张家界': 1, '广东肇庆': 1, '上海长宁': 1, '澳门路环岛': 1, '江苏': 1, '上海': 1, '湖南衡阳': 1, '河南南阳': 1, '湖南永州': 1, '北京': 1, 'North Shore': 1, '湖北恩施': 1, '湖南湘潭': 1, '湖南岳阳': 1, '湖南': 1, 'EnglandSheffield': 1, '